提問
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;