區分清楚 ANSI 與 Unicode 有何不同,玩遊戲、編寫程式,不亂碼

亂碼,一直很難處理,主要是開發者的問題,後面的使用者,東弄西弄,其實很難搞

這一篇,是要跟大家說明 ANSI 與 Unicode 到底有何不同,並區分清楚




點擊右側連結,觀看 youtube 視頻解說 https://www.youtube.com/watch?v=f-Qv3ld0L7U


A、什麼是位元,什麼是位元組

維基百科 位元

維基百科 位元組

一個位元組,是由8個位元,所組成
8個位元,可以組成,一個位元組




應用程式,都是使用 16 進位,如果有用過 16 進位修改器,應該就知道

文字編輯器,參考 文字編輯器,圖文使用教學




B、ANSI 與 Unicode 區別

其實這是卡在一個字,用幾個位元組,來存放
有的地方,叫字節,就是用幾個字節,來存放
30年前的電腦,沒現在那麼好,所以一個字,用2個位元組存放,就是 ANSI

但2個位元組,只能存放6萬個字左右,根本不夠用,
後面開發了,用4個位元組存放一個字,也就是 Unicode 萬國碼

維基百科 ANSI

維基百科 Unicode




C、為什麼會亂碼

那是因為寫程式的人,搞不清楚 ANSI 與 Unicode 這2者,有何不同
意思就是,看起來都是字,但內部的編碼,有區分 ANSI 與 Unicode

那些寫程式的人,搞不清楚狀況,還是用 ANSI 來編寫,
如果用不同的 ANSI 開啟,由於內部的編碼不一樣,就會造成亂碼

正確的方式,只要是文字、數字、符號,都要用 Unicode 編寫,避免亂碼




D、環境模擬

環境模擬,指的是,玩日文遊戲,或執行簡中程序,可以透過 Locale Emulator 換成它們的 ANSI
譬如 Locale Emulator 轉區工具,它的功能,就是模擬 ANSI 環境,決解亂碼問題
但有個缺點,這類的環境模擬工具,只能針對一個 exe 執行檔,如果是多執行檔,那就沒辦法

Locale Emulator 參考 轉區工具 Locale Emulator 能夠切換地區及語言,圖文使用教學




E、簡繁轉換

現在大部分,都是用 UTF-8 萬國碼,一個字,用3個位元組存放
這跟網路傳輸有關,同樣都是萬國碼 UTF-8 用3個位元組存放,而 Unicode-16 用4個位元組存放,當然 UTF-8 比較有效率,節省一個位元組

UTF-8 又有區分,含不含 BOM 標籤
BOM 標籤,是做什麼用的?用來識別是不是 UTF-8 文件

UTF-8 不含 BOM 就是檔頭沒有 BOM 標籤,這個一般用在程式設計
編寫 HTML JavaScript CSS PHP ...等之類的程式,檔頭不可以有 BOM 標籤

因為程式的代碼,是一行一行,由上到下,並一條一條,進行載入,
那個 BOM 標籤,不是代碼,所以說,如果含到 BOM 標籤,會誤判,造成不明錯誤

參考 簡繁轉換,注意事項,圖文使用教學




F、影音轉檔

文本型之字幕 srt ass ssa
可以用 UTF-8 或用 Unicode-16 都可以,如果用 UTF-8 則需含 BOM 標籤
因為影音播放器,只抓取需要的部分,所以要含 BOM 標籤,用來識別是不是 UTF-8 文件

參考 影音轉檔、壓片工具、字幕工具,流程操作解說




上述之圖文使用教學,如果還不太明白,請至下方連結,查看 youtube 視頻解說

視頻解說之第一部分 https://www.youtube.com/watch?v=f-Qv3ld0L7U

謝謝大家,抽空觀看 file backup name 備份檔名 windows03002


後續文章 多個 exe 執行檔,遇到亂碼,試試換成對應之語言包,說不定可行


返回目錄 轉區工具 Locale Emulator 能夠切換地區及語言,圖文使用教學


返回目錄 簡繁轉換,注意事項,圖文使用教學,連結總整理


返回目錄 影音轉檔、壓片工具、字幕工具,流程操作解說


Explain the difference between ANSI and Unicode

沒有留言:

張貼留言

由於經常被灌水,所以您再發表留言之後,需要耐心的等待博客主之審核,於審核過後才會公開您的留言,因此請您不要重複的留言,謝謝您的留言。
Hello my friend, I have no money, I am very poor, My blog is super chill, I welcome your comments, but in order to maintain a healthy discussion, please avoid spam or irrelevant comments.