3 回答

TA貢獻1810條經(jīng)驗 獲得超4個贊
要做到這一點,你需要注冊的CodePagesEncodingProvider從實例System.Text.Encoding.CodePages包。
為此,請安裝System.Text.Encoding.CodePages包:
dotnet add package System.Text.Encoding.CodePages
然后(隱式或顯式運行后dotnet restore),您可以調用:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var enc1252 = Encoding.GetEncoding(1252);
另外,如果只需要一個代碼頁,則無需注冊即可直接獲取它:
var enc1252 = CodePagesEncodingProvider.Instance.GetEncoding(1252);

TA貢獻1862條經(jīng)驗 獲得超7個贊
請寫出:
<ItemGroup>
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
</ItemGroup>
在csproj。
在程序包控制臺中,寫“ dotnet restore”,還原程序集。
并將此代碼作為示例:
public class MyClass
{
static MyClass()
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
}
}

TA貢獻1719條經(jīng)驗 獲得超6個贊
我認為重要的一點是,如果您的編碼存儲為同一類的靜態(tài)只讀字段或靜態(tài)const,則靜態(tài)構造函數(shù)將無法工作。訪問字段時不會及時執(zhí)行。解決此問題的一種方法是使用lambda屬性:public static Encoding Windows1252 => Encoding.GetEncoding(1252)
- 3 回答
- 0 關注
- 527 瀏覽
添加回答
舉報