byte[] 转字符串 中文乱码
闲来无事,写了一个UWP的UDP/TCP小Demo,网上找了个网络调试助手,就兴冲冲的开始玩耍
结果“鸡同鸭讲”:
讲英文的时候大家都是abc,hello man!how are you?
讲中文的时候:
UWP Demo=》你好啊!
网络调试助手=》浣犲ソ鍟婏紒
好吧,可能一个是北方人,一个南方人。
查一查,UWP默认支持以下编码:
public static Encoding ASCII { get; }
public static Encoding BigEndianUnicode { get; }
public static Encoding Unicode { get; }
public static Encoding UTF32 { get; }
public static Encoding UTF7 { get; }
public static Encoding UTF8 { get; }
挨个试试,都不行,然后各种搜索~~
Java平台和一些老旧桌面程序,一般都是用GBK/GB2312
然而UWP木有这2个编码,桌面程序倒是支持
新时代程序员谁就应该统一用UTF-8!谁还管啥GBK,GBA啥玩意儿的!(问题解决不了,本人只好这样安慰自己)
奈何还是不甘心,终于搜索到这样一篇文章:难道.NET Core到R2连中文编码都不支持吗?
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
问题解决~
然后新的问题来了:如何判断 byte[] 的编码,以正确转换为中文字符串而不出现乱码?
各种尝试之后,中文大家还是默认UTF-8吧!就酱