看板 C_Sharp 關於我們 聯絡資訊
※ 引述《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
FT6034: 謝謝指教,「直接把byte array寫下去」我再研究看看@@" 06/20 09:35