cht電腦資訊Linux
adm Find login register

想要尋找unicode碼位轉換成字元的離線單機工具軟體

IanHo
1 想要尋找unicode碼位轉換成字元的離線單機工具軟體
Promote 0 Bookmark 02012-03-21quote  

我手邊有一個純文字檔案,裏頭有十一萬列的unicode編碼,我需要使用圖形介面的離線單機軟體,

將這十一萬列的unicode編碼,盡可能的一次性的轉換成以字元呈現,而這十一萬列的unicode編碼,
包含了CJK Unified Ideographs and Extension A~C,Supplementary Private Use Area-A~B,
等等區塊範圍內的字元,在要對應的字形檔案的部分,我已經準備齊全了,安裝於系統中,
現在的問題就是,在linux gnome平台上,我找不到可以一次性轉換十一萬列的unicode編碼為字元呈現
的單機離線圖形介面軟體,在MsWindows平台上有babelPad.exe這套軟體可以做到,
那麼在linux gnome平台上,有類似 babelPad.exe 這樣轉換功能的離線單機圖形介面軟體嗎?

eliu
2
Promote 0 Bookmark 02012-03-21quote  

應該是說 UTF-16 → UTF-8 ?

iconv -f UTF-16 -t UTF-8 inputfile -o output_file

常用可以寫成 shell script,這樣用起來比 gui 的介面更快。

edited: 1
IanHo
3
Promote 0 Bookmark 02012-03-21quote  

eliu

應該是說 UTF-16 → UTF-8 ?

iconv -f UTF-16 -t UTF-8 inputfile -o output_file

常用可以寫成 shell script,這樣用起來比 gui 的介面更快。

我嘗試用文字來描述一個例子

在全圖形介面操作模式下~

我要將

4E09

\u4E09

U+4E09

轉換成漢字

然而我需要一次性轉換的那個數值不只 4E09 ,還有其他數值, 一組數值在一列,

整個純文字檔案中,有上萬列的這樣的數值,轉換完畢再開啟純文字檔案,前後排序必須不變~

所以會變成一個漢字在一列,然後會有上萬列這樣.

 

 

 

edited: 1
guest
4
Promote 1 Bookmark 02012-03-21quote  

IanHo

我嘗試用文字來描述一個例子

在全圖形介面操作模式下~

我要將

4E09

\u4E09

U+4E09

轉換成漢字

然而我需要一次性轉換的那個數值不只 4E09 ,還有其他數值, 一組數值在一列,

整個純文字檔案中,有上萬列的這樣的數值,轉換完畢再開啟純文字檔案,前後排序必須不變~

所以會變成一個漢字在一列,然後會有上萬列這樣.

是有理解啦,
但是你提的型式太多種了,
如果能用其他編輯器先取代成以下型式的話,
三
拿隨便一個瀏覽器就可以直接看了。

guest
5
Promote 0 Bookmark 02012-03-21quote  

如果不知道如何取代的話,
可以安裝MadEdit
選 搜尋->取代->使用正規表示式打勾
是4E09型式的話,
搜尋 ^(....)$ 全部取代為 &#x$1;
是\u4E09型式的話,
搜尋 ^\\u(....)$ 全部取代為 &#x$1;
是U+4E09型式的話,
搜尋 ^U\+(....)$ 全部取代為 &#x$1;

guest
6
Promote 0 Bookmark 02012-03-21quote  

注意,以上假設每行數值都是4個16進位數字。

IanHo
7 關於在全圖形介面下將unicode編碼數值轉換成文字遇到的瓶頸與狀況
Promote 0 Bookmark 02012-03-22quote  

我手邊有一個字形檔案,

經過
fontforge (MACOSX,LINUX)
babelmap.exe,babelpad.exe (MsWindows)
UnicodeChecker(MACOSX)
等軟體的交叉查詢,我預先知道了

U+2FA1B 鼖 CJK COMPATIBILITY IDEOGRAPH-2FA1B

這樣的資訊中有一個重點,這是一個五位數的unicode編碼數值,
而該碼位所對應搭配的字形檔案我也已經安裝好了,可以使用,
該字,是只要能支援UNICODE新版的文書軟體原則上都可以叫用的,
現在我手邊有一個一拖拉庫列數(上萬列)的純文字檔案,
每一列就是一組向上面標示的 2FA1B 這樣一組數值(每一組數值都不一樣)(更正~有部分會重複1~4組不不等),
我需要做的就是在全圖形介面"單機離線"模式下,將這上萬列的"五位數",
轉換成其對應的"文字",
第一個想到的就是 babelpad.exe ,這個軟體必須在這五位數前面加個 "\u",
才能辨識,可是筆者發現轉換結果卻會變成
"四位數對應的文字+原始五位數的最後一個16進位數值",
筆者google不出所以然來,就不知道該怎麼辦了!?

再來轉換MACOSX平台,UnicodeChecker軟體中有一項子功能,
也是可以辨識 "\u" 然後將其後的數值轉換成"文字",

結果同樣發生了會轉換成
"四位數對應的文字+原始五位數的最後一個16進位數值"的情況,

想要google,嘗試了一些關鍵字,卻完全沒有頭緒,到底該怎麼辦呢?

有沒有什麼圖形介面的軟體,可以辨識五位數的 \u2FA1B 或著 U+2FA1B
然後可以將其轉換成文字這樣?

edited: 1
guest
8
Promote 0 Bookmark 02012-03-22quote  

改成以下就沒有幾位數的問題了:
安裝MadEdit
選 搜尋->取代->使用正規表示式打勾
是4E09型式的話,
搜尋 ^([0-9A-F]*)$ 全部取代為 &#x$1;
是\u4E09型式的話,
搜尋 ^\\u([0-9A-F]*)$ 全部取代為 &#x$1;
是U+4E09型式的話,
搜尋 ^U\+([0-9A-F]*)$ 全部取代為 &#x$1;
還是一樣用瀏覽器開來看(最好把檔名改成.html)。

firefox已測試無誤。

IanHo
9
Promote 0 Bookmark 02012-03-23quote  

guest

改成以下就沒有幾位數的問題了:
安裝MadEdit
選 搜尋->取代->使用正規表示式打勾
是4E09型式的話,
搜尋 ^([0-9A-F]*)$ 全部取代為 &#x$1;
是\u4E09型式的話,
搜尋 ^\\u([0-9A-F]*)$ 全部取代為 &#x$1;
是U+4E09型式的話,
搜尋 ^U\+([0-9A-F]*)$ 全部取代為 &#x$1;
還是一樣用瀏覽器開來看(最好把檔名改成.html)。

firefox已測試無誤。

謝謝提供資訊~我先框起來再摸索試試看~

IanHo
10
Promote 0 Bookmark 02012-03-24quote  

原本我很堅持想要尋找單機模式的圖形介面工具軟體來做\uXXXXX轉文字的作業流程~

但是之前找到的那兩款都是有問題的無法正確轉換五位數~現在還是找不到~只好放棄了~

不得不低頭~只好將就使用線上軟體了例如找到了這個~

http://rishida.net/tools/conversion/

沒想到這款軟體除了有支援五位數~還能撐得住一次輸入五萬筆以上的資料~

連Supplementary Private Use Area-A區都有轉出來~

可惜就是得在連網狀態下使用~

guest
11
Promote 0 Bookmark 02012-03-24quote  

你實在有點......莫名其妙的固執。

這樣吧,在firefox裏面加入書籤應該還能接受吧?

隨便把某個網頁加入書籤,

修改書籤網址為以下字串:

javascript:zz=document.getElementsByTagName("body");yy=zz[0].innerHTML;yy=yy.replace(/%5C%5Cu([0-9A-F]*)/g,"%5C%5Cu$1%20&#x$1;");zz[0].innerHTML=yy;void(0);

用firefox選單->開新分頁->開啟檔案->所有檔案 選那個文字檔(這次別改成.html了)

然後在此頁面下使用之前加入的書籤即可。

用\u2FA1B複製6萬次來測試沒問題。

guest
12
Promote 0 Bookmark 02012-03-24quote  

忘了說,原始資料要用\u2FA1B型式的。

guest
13
Promote 0 Bookmark 02012-03-24quote  

U+2FA1B型式的用:

javascript:zz=document.getElementsByTagName("body");yy=zz[0].innerHTML;yy=yy.replace(/U%5C+([0-9A-F]*)/g,"U%5C+$1%20&#x$1;");zz[0].innerHTML=yy;void(0);

2FA1B型式的用:

javascript:zz=document.getElementsByTagName("body");yy=zz[0].innerHTML;yy=yy.replace(/([0-9A-F]*)%5Cn/g,"$1%20&#x$1;%5Cn");zz[0].innerHTML=yy;void(0);

cht電腦資訊Linux
adm Find login register
views:33501