如何確定檔名是unicode?還是有軟體可以轉unicode?



贊助商連結


頁 : 1 [2] 3

threesecond
2006-12-08, 11:03 AM
只是繁體和簡體的轉換吧?第一次知道有「Unicode 繁/簡體」這個名詞,就覺得不是很自然。

對於稍微了解的使用者,Unicode 就是 Unicode,繁體就是繁體,簡體就是簡體,其實不需要用「Unicode 繁體中文」這種名詞,這樣會造成困擾或誤解。
「Unicode」是編碼方式,GB2312 和 Big5 也都是。
「繁體、簡體」則是顯示在畫面上的文字。

Unicode 既然可以包入世界各國的文字編碼,當然也包含了繁簡中文在內,
所以一篇 Unicode 文章可以同時包含顯示繁簡中文,
而"顯示在畫面上的文字"當然可以在繁簡之間轉換,
所以 Unicode 簡體 → Unicode 繁體,一點也不複雜,
是琥珀想的太複雜了。

贊助商連結


lenbo
2006-12-08, 01:36 PM
我倒覺得並不是琥珀想得複雜;
而是該軟體設計上比較陽春的問題吧~
在輸出編碼有兩種選項「unicode簡體」及「unicode繁體」,
但在來源編碼上只有一種選項「unicode」
會讓使用者覺得有點不知所云的感覺~
再者,一個定位在國際編碼轉換的軟體;
若沒有多加註明「unicode簡體」及「unicode繁體」僅是為繁簡字體轉換的話…
的確會讓稍微對unicode有點認識的使用者誤會了…
所以,也就是以前在寫程式時;
老師及助教一直在強調的,要做好使用者界面的要求的問題了…
不過,既然是Freeware也就不用太去苛求了…

另外,既然說2000/XP/2003下檔名都是使用unicode編碼的;
那應該算是UTF-16吧?而與雷電FTPD所使用的UTF-8又差在哪裡咧?
以及,如果從98日本語版搬一個檔案名稱是日文的檔案到XP下,
那XP會自動把該檔名從JIS轉成unicode嘍?

另外就是說檔案名稱是什麼編碥;是不是還得看產生這個檔案的軟體所使用的編碼?

wumins
2006-12-08, 02:58 PM
我覺的unicode就是unicode含蓋了繁、簡體
若要說成unicode繁體感覺很怪,支持虎魄看法

琥珀
2006-12-08, 03:29 PM
如果牽涉到網路傳遞,問題可能又會複雜一些。以下只考慮視窗系統的情況。

只要 2000/XP (不限語言) 接受了 98 (不限語言) 傳送過來的檔案,在 2000/XP 的 Windows Explorer (檔案總管/資源管理器) 上看到的檔案名稱正常,那就表示沒問題,作業系統已經自動處理好了。

當時自己是用繁體中文 98/ME,然後新安裝 2000 繁體中文版,接著又新安裝 2000 簡體中文版,結果當然是過關。如果中間沒有 2000 繁體中文版,直接從 98/ME 繁中環境切換到 2000 簡中環境,「可能」就有問題,因為當時的 Unicode 環境還沒有建立好。

就算是最新的 Vista 系統,還是會保持雙層作業。一個是 unicode 層,一個是目前預設的 system locale 層,兩者同時運作,原則上優先使用 unicode 層,不行的話就往上對應。如果對以前 98/ME 時代保存的檔案存有懷疑,最好的方式就是將所有資料都移動/複製到其它地方,讓支援 unicode 的作業系統強迫重新建立 unicode 檔名,這樣就能確保名稱的完整性。

只要檔案是利用 Windows Explorer 方式,或是利用微軟公開的 API 所開發的 Unicode 軟體,進入了 2000~Vista 系統,應就具備 Unicode 檔名了。

ps
2006-12-08, 04:12 PM
其實一開始的問題只是FILEZILLA對UNICODE的支援有問題所造成的
換個CLIENT 就可以了

warzero
2006-12-08, 07:04 PM
我倒覺得並不是琥珀想得複雜;
而是該軟體設計上比較陽春的問題吧~
在輸出編碼有兩種選項「unicode簡體」及「unicode繁體」,
但在來源編碼上只有一種選項「unicode」
會讓使用者覺得有點不知所云的感覺~
再者,一個定位在國際編碼轉換的軟體;
若沒有多加註明「unicode簡體」及「unicode繁體」僅是為繁簡字體轉換的話…
的確會讓稍微對unicode有點認識的使用者誤會了…
所以,也就是以前在寫程式時;
老師及助教一直在強調的,要做好使用者界面的要求的問題了…
不過,既然是Freeware也就不用太去苛求了…

想問一下,你們在 「unicode簡體」及「unicode繁體」 的認為是這樣分類的嗎?
unicode簡體 = unicode + GB
unicode繁體 = unicode + Big5

而不是
unicode簡體 = unicode裏的簡體字
unicode繁體 = unicode裏的繁體字

如果說改成這樣的話呢?
unicode簡體字
unicode繁體字

加個"字"下去效果好像明顯有點不同了?
看來好像大多數的人看到"簡體"就自然認為是GB編碼,而"繁體"就自然認為是Big5編碼。
好像是這樣造成感覺到很亂的關係吧?



另外,既然說2000/XP/2003下檔名都是使用unicode編碼的;
那應該算是UTF-16吧?而與雷電FTPD所使用的UTF-8又差在哪裡咧?

如果要複雜說明的話 (不想更混亂的讀者可以直接忽略掉... XD)
unicode其實又分成:
UTF-8
UTF-16LE
UTF-16BE
UTF-32LE
UTF-32BE

UTF-8 是屬於可變數的。
遇到ASCII的英文字母就採用 1byte 來保存。
遇到希臘字母或西裡爾字母就採用 2byte 來保存。
遇到中日韓文的話就採用 3byte 來保存 (注意是3byte,在UTF-8裏並不是2byte)
遇到補助平面的話就採用 4byte 來保存。
補助平面是什麼就不多講了,有興趣者可以自行閱讀... XD
http://zh.wikipedia.org/w/index.php?title=%E8%BE%85%E5%8A%A9%E5%B9%B3%E9%9D%A2&variant=zh-tw
http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters

相對的UTF-16比起UTF-8就簡單很多了。
所有的文字在UTF-16一律都採用 2byte 來保存,不過UTF-16並不兼容ASCII文字。
而UTF-32就是全部文字一律採用 4byte 來保存。
一般上很少人會去用 UTF-32,因為空間太容易浪費的關係。
至於LE、BE是什麼... ,有興趣者自行閱讀這篇好了... XD
http://zh.wikipedia.org/wiki/UTF-16
http://en.wikipedia.org/wiki/UTF-16

以 UTF-8 和 UTF-16 比較的話,是各有各的好處。

UTF-8 對於ASCII英文字母只採用 1byte 來保存,而 UTF-16 的英文字卻是用 2byte 來保存。
所以對於大量採用英文字的而少量採用中日韓的文章,其容量會比 UTF-16 更節省。
所以一般上 UTF-8 比較適合用在網頁上或"多英少中"的文章。
因為所編寫的 HTML/XHTML/Javascript 代碼都因為是英文字的關係。
網頁只是一個例子,一般上 UTF-8 也可以用在多方面上。

而如果整個文章都採用中/日/韓/文為多的話,用 UTF-16 就會比 UTF-8 更節省容量。
因為UTF-16的中日韓一律採用 2byte的關係, 比起 UTF-8 採用 3byte 來得好很多。

至於哪一個比較好,就隨自己的喜好來選擇好了。
基本上差別不會很大,最多是相差5~10KB罷了(實際還是需要根據其內容而定)。
對於現在的硬碟,相差幾KB並不會帶來很大的影響。



以及,如果從98日本語版搬一個檔案名稱是日文的檔案到XP下,
那XP會自動把該檔名從JIS轉成unicode嘍?

另外就是說檔案名稱是什麼編碥;是不是還得看產生這個檔案的軟體所使用的編碼?

因NT系統的 2K/XP/2K3/Vista 對 unicode/ascii 處理是屬於雙向模式。
如琥珀兄所說那些系統的架構是 unicode + 目前預設的 system locale。

假設你的XP不是採用 日語語系 的話,那麼98日本版的檔名你會看到亂碼。
假設你的XP是採用 日語語系 的話,你才可以正常讀取到98日本版的ASCII檔名。

建立unicode編碼的情況:
搬去XP後。因為在XP下是重建立新文件,所以XP會自動將那ASCII檔名轉換成unicode編碼。

建立unicode編碼失敗的情況:
除非你的文件是"原封不動"的話,那檔名就還是保存著ASCII編碼。
一般上這情況下是採用了有包含ASCII檔名的硬碟直接接在XP下。
或從亂碼檔名文件般去XP,最後又改語系以讓正常顯示。但這樣那檔名都還是ASCII編碼來的。

琥珀
2006-12-08, 07:49 PM
當然是指 Unicode の中の簡体字中国語と繁体字中国語。

繁體不是 Big5、簡體不是 GBK。一個是以編碼的角度來解釋,一個只是純粹表達「這是中文、日文、韓文、……」,如此而已。

其實中文轉換只是在中文世界的一個 bonus,是「可選的」(alternative) 選項。最好還是不要和 Unicode 本身混在一起解釋。直接用簡體中文→繁體中文、繁體中文→簡體中文就可以了。

至少琥珀用過的軟體,以及微軟的 Office 系列,都是直接用 Traditional Chinese 和 Simplified Chinese,這樣表達就很足夠了,通常不會看到什麼 "Unicode Trad. Chinese" 或是 "Simpl. Chinese (Unicode)" 這樣的寫法。

自己這樣說,其實也是為了非中文系國家的著想,畢竟還是要和國際接軌,總不能關起大門自己玩吧?不然外國人看不懂,難道還要再一次重新解釋名詞、定義名詞嗎?

warzero
2006-12-08, 08:08 PM
當然是指 Unicode の中の簡體字中國語と繁體字中國語。

繁體不是 Big5、簡體不是 GBK。一個是以編碼的角度來解釋,一個只是純粹表達「這是中文、日文、韓文、……」,如此而已。

其實中文轉換只是在中文世界的一個 bonus,是「可選的」(alternative) 選項。最好還是不要和 Unicode 本身混在一起解釋。直接用簡體中文→繁體中文、繁體中文→簡體中文就可以了。

至少琥珀用過的軟體,以及微軟的 Office 系列,都是直接用 Traditional Chinese 和 Simplified Chinese,這樣表達就很足夠了,通常不會看到什麼 "Unicode Trad. Chinese" 或是 "Simpl. Chinese (Unicode)" 這樣的寫法。

自己這樣說,其實也是為了非中文系國家的著想,畢竟還是要和國際接軌,總不能關起大門自己玩吧?不然外國人看不懂,難道還要再一次重新解釋名詞、定義名詞嗎?
原來是這樣... ,感謝琥珀兄的指導。 :D

lenbo
2006-12-08, 08:52 PM
看起來叫 UTF-X 就是指一個 WORD 是 X bits 的意思了…

pcboy
2006-12-09, 06:57 AM
>unicode簡體 = unicode + GB
>unicode繁體 = unicode + Big5
不是這樣

>unicode簡體 = unicode裏的簡體字
>unicode繁體 = unicode裏的繁體字
>unicode簡體字
>unicode繁體字
是這個