Re: [問題] Big5 轉 UTF-8

看板C_Sharp作者 (睡魔)時間9年前 (2015/06/19 20:30), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串4/5 (看更多)
※ 引述《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://www.ptt.cc/bbs/C_Sharp/M.1434717035.A.B3B.html

06/20 09:35, , 1F
謝謝指教,「直接把byte array寫下去」我再研究看看@@"
06/20 09:35, 1F
文章代碼(AID): #1LX0jhix (C_Sharp)
文章代碼(AID): #1LX0jhix (C_Sharp)