小弟是一個月前才終於從XP換成了WIN7(64位元)又以前都有安裝UAO因此文字檔基本上都是ANSI那現在沒裝UAO就出現問題了,日文、簡中看不了所以現在必須要 ... ... <看更多>
「ansi轉big5」的推薦目錄:
ansi轉big5 在 2022utf8轉big5線上-汽車保養配件資訊,精選在PTT ... 的美食出口停車場
UniConv - 超強轉碼工具BIG5/GB/UTF8/Unicode. 這個月工作上都需要用上SSIS ( SQL Server Integration Services ),處理以億行計的資料。 ansi 編碼big5. ... <看更多>
ansi轉big5 在 【DSE ICT 概念速成】踢走亂碼!拆解鬼字成因!ASCII Big5 ... 的美食出口停車場
2023 HKDSE ICT Syllabus 清Concept ASCII Big5 GB Unicode (UTF) ISO10646 HKSCSText/ ... 14:14 Notepad 上的 ANSI / Unicode / UTF-8 是什麼意思? ... <看更多>
ansi轉big5 在 土包的工作日誌- Notepad++滿猛的編碼模式... - Facebook 的美食出口停車場
Notepad++滿猛的編碼模式如果選擇轉換至Ansi碼格式,我的"啦"文字就會是本機碼(Big5)組成,也就是\xB0\xD5 如果選擇轉換至UTF-8碼格式,我的"啦"文字會是UTF-8組成, ... ... <看更多>
ansi轉big5 在 Re: [問題] Big5 轉UTF-8 - 看板C_Sharp - 批踢踢實業坊 的美食出口停車場
※ 引述《FT6034 (耐心等待)》之銘言:
: 事情是這樣發展的...
: 主程式是外國人針對某遊戲寫的,透過API取得聊天室訊息
: 原程式儲存資訊至 txt 檔,編碼是 UTF-8
: 輸入 "測試" , txt 檔裡頭記錄 "皜祈岫" ,所以我猜測 args.Message 是 BIG5
問題很簡單 原來的程式沒有問題 是因為那個txt沒有BOM所以記事本把檔案當作Big5讀取
現在你有兩種做法
1. 檔頭加上BOM 其他程式碼不變 通通不要帶編碼 這樣.NET預設使用UTF-8寫入檔案
var stream = new StreamWriter(_path, true);
var stream = new StreamWriter(_path, true, Encoding.UTF8);
這兩行是一樣的
2. 指定使用Big5輸出
var stream = new StreamWriter(_path, true, Encoding.GetEncoding(950));
這樣該檔案可以使用記事本正常讀取
----
對於英文 使用ANSI與UTF-8出來的檔案是一樣的
UTF-8就是一個英語系用很爽 其他語系跳火圈的編碼
https://www.csie.ntu.edu.tw/~p92005/Joel/Unicode.html
---
Game.OnChat內部是使用指標直接讀取記憶體 並且沒有指定編碼 預設使用ANSI讀
類似這樣 new string((sbyte*)message)
而讀取出來 你在Visual Studio 下中斷點看到args.Message如果是正常的
表示已經正常讀取並轉換成UTF-16放在記憶體內
https://msdn.microsoft.com/zh-tw/library/cc488003.aspx
"在 C# 中,所有記憶體內的字串編碼都是 Unicode (UTF-16)。
當您將資料從儲存區帶入 string 物件時,資料會自動轉換成 UTF-16。
如果資料只包含 0 到 127 的 ASCII 值,您就不需要額外進行轉換。
不過,如果原始程式文字包含延伸 ASCII 位元組值 (128 到 255),則預設會按照目前
的字碼頁 (Code Page) 來解譯擴充字元。"
因為你的程式在中文Windows上跑 基本上這段不會有問題
剩下的問題就是這UTF-16怎麼輸出的問題了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.198.62
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1434722062.A.361.html
... <看更多>