如何漢化ASCII碼軟體

2021-04-01 21:11:46 字數 1965 閱讀 9287

一、在前面要說的

現在對於s60軟體漢化有興趣的人越來越多了,這對於我們中國人來說是個非常好的現象,如今的軟體絕大多數是英文的,雖然用起來也不是很費力(那證明咱們有一定的英文知識水平:)但是英文水平再高也沒有看著咱們自己的母語舒服啊,所以說漢化是一項必然要做的工作。

在這裡講的是難度相對較高的ascii碼軟體的漢化,unicode碼的在此就不多說了。

二、關於ascii

現在軟體中的字串大致分為兩種:unicode碼&ascii碼,在unicode碼中乙個符號、乙個英文本母和乙個漢字都是占用2個位元組,而在ascii編碼中乙個符號和乙個英文本母只占用1個位元組,而乙個漢字仍然要占用2個位元組,正由於這一點的不同,現在使用ascii碼的英文軟體漸漸多起來,因為ascii碼能讓軟體的體積更小開發起來更方便。

三、漢化ascii碼的原理

那麼如圖把「setting」漢化成中文「設定」的ascii碼是:

03 08 0f 8b be 7f 6e 00 20 e0

其中第乙個04表示此字串一共有3個字元(「設定」+「乙個空格」一共是3個字元)

其中第二個08表示此字串一共有8個位元組

其中第三個0f表示在此之後為unicode字串

其中第四、五個8b be在unicode碼中表示漢字「設」

其中第六、七個7f 6e在unicode碼中表示漢字「置」

其中第八、九個00 20在unicode碼中表示為「空格」

最後乙個e0代表在此之後為ascii碼,如果字串到此為止,那麼這個e0也可以寫成00

ascii碼漢化的大致原理就是這樣,當然例外的情況還有很多,那要視情況而定。

如「help」的ascii碼字串為:

04 04 48 65 6c 70

其分析方法如上,如果漢化成「幫助」的ascii編碼為:

02 05 0f 5e 2e 52 a9

這時你會發現漢化後的字串比原來的多出乙個位元組,如果這樣漢化後會導致程式錯誤,那麼該如何解決呢?這裡有乙個最常用也是最簡便的乙個方法:那就是把其它字串沒有用到的多出來的位元組剪下到缺少位元組的地方

剛才那個「setting」漢化後的字串:

08 0f 8b be 7f 6e 00 20 00

這裡的結尾出多出個空格00 20和乙個沒用的空位元組00,等於一共多出3個,哈哈,那就不客氣了,拿來乙個位元組00用先!把00剪下到「help」的字串後面就成為:

04 48 65 6c 70 00

這樣回過頭來再漢化成「幫助」:

05 0f 5e 2e 52 a9

字串就一樣長了哦:)

你從人家「setting」那裡剪下了乙個位元組,那麼千萬別忘了把它的位元組數改正過來!!!否則會導致程式錯誤,改過後「設定」的ascii字串應為

03 07 0f 8b be 7f 6e 00 20

注意這種互借位元組的方法只能用在軟體選項中的同級目錄中,如圖中的「幫助」可以從「設定」中藉位元組,也可以從「控制」中藉,不能從子目錄「選擇時間」中藉!!總之在同一目錄下有多餘位元組的地方借就可以了

四、漢化的具體操作

五、最後要說的

這個教程只是乙個漢化ascii碼軟體的入門教程,都是最基本的,也可以說是我自己總結的一些漢化經驗拿出來與大家分享,希望對於那些剛開始學習漢化的朋友有些幫助。

如何根據ascii碼顯示字元 ASCII碼字符集

為什麼有ascii碼 計算機儲存和傳輸的資料必須是二進位制,也就是說所有的資訊都要轉換成0和1表示。在兩台通訊裝置之間通訊的時候,比如要傳輸字元a,傳送裝置把a編碼為0和1組成的序列,並傳送出去,介面裝置如何正確地的理解這個0和1序列呢?這就像兩個人之間對話一樣,如果兩個人使用的是不同的語言,那麼他...

如何漢化軟體

漢化軟體是一件煩瑣的事。要漢化乙個軟體,一般的流程是這樣 一 檢測軟體是否加了殼。如果不會手工優化,可以在脫完殼重建資源後就用漢化工具來漢化,漢化完成後再用 lordpe 這樣的工具來優化一下漢化後的程式就可以了。二 檢測程式資源型別。檢測程式資源型別我們同樣可以用 peid fi 這樣的工具,主要...

ascii碼01100001 ASCII碼對照表

ascii 碼對照表 bindec hex縮寫 字元解釋 nul null 空字元soh start of handing 標題開始 stx start of text 正文開始 etx end of text 正文結束 eot end of transmission 傳輸結束 enq enquir...