作者leicheong (睡魔)
看板C_Sharp
标题Re: [问题] Big5 转 UTF-8
时间Fri Jun 19 20:30:32 2015
※ 引述《FT6034 (耐心等待)》之铭言:
: byte[] b = Encoding.GetEncoding("UTF16-LE").GetBytes(args.Message);
: byte[] c = Encoding.Convert(Encoding.GetEncoding("UTF16-LE"),
: Encoding.UTF8, b);
: string utf8Str = Encoding.UTF8.GetString(c);
你在这一行把他还原成UTF16LE了...
不要转String, 直接把byte array写下去吧.
另外要在notepad可以正常辨认UTF8你得先把UTF8的BOM (0xEFBBBF)写进stream
的开始位置.
如果不写用web browser或Notepad++那类软体开也可以自动辨认到.
: stream.WriteLine("[" + Utils.FormatTime(Game.ClockTime) + "]" +
: " sender: " + args.Sender.Name + " says: " + utf8Str);
: stream.Close();
: ------------------------------------------------------------------------------
: 输入:「测试」 -> 抓到空白
: 文字档记录:空白
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 14.199.38.124
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1434717035.A.B3B.html
1F:→ FT6034: 谢谢指教,「直接把byte array写下去」我再研究看看@@" 06/20 09:35