.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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章