有個問題很奇怪 先做個試驗 系統 Windows 2000

1.在記事本中 鍵入 " SHE - 天灰.mp3 " 和 " SHE - 天使在唱歌.mp3 "

儲存為 Unicode 編碼的 TXT 檔

2.重新打開此 TXT 檔 復制鍵入的文字 以複製/貼上文字的方式 將兩個檔案分別更名為

" SHE - 天灰.mp3 " 和 " SHE - 天使在唱歌.mp3 "


上面兩個步驟是為了確定 檔名為 Unicode 編碼


3.以 MyRename 或 威力酷燒 等支援 Unicode 的程式 匯入這兩個檔案

結果發現 它們的排列順序 和 檔案總管不一樣 ?? 奇怪 為何會這樣 ??

難道系統有兩套字元排列順序 分別給 作業系統與應用程式使用 ??


燒錄過程中 發現很多很多的字元排列並不一樣

請問要如何解決 才能讓其排列順序一樣
如何讓檔名排列順序一樣 ? ( 已解決 )
文章關鍵字
剛剛忽然想到了問題點 也想到了解決方法

一般 Unicode 程式是根據 123....ABCDEF 來排列

中文 Windows/Office 則是根據 中文筆劃來排列


突然深深感覺 微軟對於產品在地化 真是不遺於力 一點都不馬虎
hch3duserv2 wrote:
剛剛忽然想到了問題點 也想到了解決方法
一般 Unicode 程式是根據 123....ABCDEF 來排列
中文 Windows/Office 則是根據 中文筆劃來排列
突然深深感覺 微軟對於產品在地化 真是不遺於力 一點都不馬虎


支援Unicode燒錄但不一定支援Unicode讀取,此謂半套Unicode。

isamuplus wrote:
支援Unicode燒錄但不一定支援Unicode讀取,此謂半套Unicode。



沒有所謂的半套

要匯入檔案 就是要先讀取 不能讀取 卻又能燒錄 ? 這說不通

應用程式是呼叫作業系統的 API 基本上就是跟著作業系統的讀取與排列
而中文 Windows 裡確實有兩套字元排列表

在 Windows NT/2000/XP...中 檔名都是 Unicode 編碼
只是中文系統檔案總管在排列上不是以 1 到 f 來排列

中文 Windows/Office 是使用 承襲以前 BIG 碼的那套排列順序
是根據筆劃以及字典的順序 以適應中文使用習慣

而一般 Unicode 程式 則是沒考慮在地化
直接以 1 到 f 來排列
hch3duserv2 wrote:
沒有所謂的半套
要匯入檔案 就是要先讀取 不能讀取 卻又能燒錄 ? 這說不通

應用程式是呼叫作業系統的 API 基本上就是跟著作業系統的讀取與排列
而中文 Windows 裡確實有兩套字元排列表


的確,作業系統有ANSI與Unicode兩套API。

用ANSI版API去呼叫檔名的時候,系統核心會把Unicode檔名轉換成Big5編碼後
輸出給程式,但是程式在燒錄的時候會再一次把Big5轉換成Unicode檔名,此謂
半套支援。

(也就是說,你1.2.步驟其實只能測試系統能不能把Unicode轉成Big5)

拿個Big5編碼不支援的Unicode日文檔名燒看看就知道了,能讀就是全套,不能
讀就叫半套。

isamuplus wrote:
用ANSI版API去呼叫檔名的時候,系統核心會把Unicode檔名轉換成Big5編碼後
輸出給程式,但是程式在燒錄的時候會再一次把Big5轉換成Unicode檔名,此謂
半套支援。


你不覺得這個做法很奇怪嗎?
支援 Unicode 的程式 為了匯入 Unicode 檔名 卻不直接用 Unicode API 呼叫
反而故意用 ANSI 呼叫 匯入之後再轉換成 Unicode ??

再者許多英文版的 Unicode 檔名程式 大小都只有幾百 KB 不可能包含每一地區的語言轉換表
作者也不太可能知道 BIG 是啥東西 當然也不可能故意去呼叫 中文版 Windows 才有的中文字元表
但卻依然能正確顯示 執行 各國檔名 只是排列順序不見得和"中文 Windows 的檔案總管"一樣而已

幾年前 就是因為要燒錄大量的日文 MP3 發現 NERO 無法燒錄 簡中 日 韓 德 法 拉丁 阿拉伯 俄 泰......等的檔名
才換成現在用的 威力酷燒 可以同時混合燒錄全球語言 也就是認得 Unicode 編碼
只是檔名排列與 " 中文 Windows 的檔案總管 " 不一樣 但和 " 英文 Windows 的檔案總管" 排列是一樣的

中文 Windows 的文字排序 是另外使用以前 倚天中文的那套 不是英文版的 1 到 f 那套
目地當然是為了 在地化 適應中文使用習慣 但為了相容性考量 對於後來擴充的罕用字 是直接將它排在後面
而沒有重新翻排

而一般程式開發 是以英文版為主 直接套用 1 到 f 的排序 不會針對各地區 去修改

半套 ?? 真的不懂 什麼是半套
hch3duserv2 wrote:
你不覺得這個做法很奇...(恕刪)


我也覺得這個做法很奇怪,為什麼NERO跟WinRAR不直接用Unicode API去讀
取檔案...但是他們都能把中文輸出Unicode喔,你相信嗎?

檔案總管的排法真的很特別,01、02、03、1、2、3、10、010丟在一起會變成:

01、1、02、2、03、3、010、10...

而不是一般Unicode軟體的:

01、010、02、03、1、10、2、3...
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!