閑來無事,寫了一個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吧!就醬