.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;
posted @   东百牧码人  阅读(61)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示