Re: [问题] Big5 转 UTF-8

楼主: leicheong (睡魔)   2015-06-19 20:30:32
※ 引述《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();
:
作者: FT6034 (耐心等待)   2015-06-20 09:35:00
谢谢指教,“直接把byte array写下去”我再研究看看@@"

Links booklink

Contact Us: admin [ a t ] ucptt.com