.net core GB2312编码错误
提问
System.NotSupportedException: No data is available for encoding 936
回答
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
示例
中文编码解析
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var gb2312= Encoding.GetEncoding(936).GetString(valueBuffer, 0, (int)returnedLength);
if (Regex.IsMatch(gb2312,@"[\u4e00-\u9fa5]"))
{
return gb2312;
}
var utf8= Encoding.UTF8.GetString(valueBuffer, 0, (int)returnedLength);
if (Regex.IsMatch(utf8,@"[\u4e00-\u9fa5]"))
{
return utf8;
}
var _default= Encoding.Default.GetString(valueBuffer, 0, (int)returnedLength);
return _default;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步