3 回答

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

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

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