基于.net core的Azure function 如何使用.net framework所支持的编码

在azure function中通过http请求call第三方api时,response返回是一堆中文乱码,发现数据格式使用的是"gb2312"编码

因此在StreamReader的时候,增加了“gb2312”的encoding,代码如下

StreamReader streamReader= new StreamReader(responseStream,Encoding.GetEncoding("gb2312"))

但是在运行过程中,报了如下错误,原来在.net core中gb2312编码不受支持

 

 

 .net core仅支持一下编码

后来发现通过CodePagesEncodingProvider类,可以在.net core中实现.NET Framework中所支持的编码,除了us-ascii编码

该 CodePagesEncodingProvider 类扩展 EncodingProvider 为使这些代码页可供 .NET Core 使用

在需要使用之前提前注册Provider,代码如下所示

 

 

posted @ 2023-01-30 18:00  西伯利亚小菜鸟  阅读(35)  评论(0)    收藏  举报