2012年6月22日 星期五

從Wine亂碼中問題找到解答:Hex與Ascii互轉

從2009年初摸沒多久就試著解決Wine的亂碼問題,不知某日被Windows registry要把Hex轉成Ascii給卡住很久,我好像有問過人,但是聽不懂…一直沒有下定決心把問題解決。



直至今日看到了這篇:wine 中文問題【新解決方案】【高手進】找了一下到底問題出在那我不會說我找了好久…,當我找到那個registry檔案路徑有錯誤,想修正但又不知道要怎麼改Hex我的痛,還好又花了一點時間我不會說半天又去了…順利解決了也學會了一點東西。








第一條跟第四條無法正確顯示






Convert Hex to ASCII



echo 字串| xxd -r -p


範例

echo 2f,75,73,72,2f,73,68,61,72,65,2f,66,6f,6e,74,73,2f,77,65,6e,71,75,61,6e,79,69,2f,77,71,79,2d,6d,69,63,72,6f,68,65,69,2f,77,71,79,2d,6d,69,63,72,6f,68,65,69,2e,74,74,63,0a| xxd -r -p


/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc





Convert ASCII to Hex

echo 字串|od -tx1 |cut -c8-|tr -d '\n'


範例

echo /usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc|od -tx1 |cut -c8-|tr -d '\n'


2f 75 73 72 2f 73 68 61 72 65 2f 66 6f 6e 74 73 2f 77 65 6e 71 75 61 6e 79 69 2f 77 71 79 2d 6d 69 63 72 6f 68 65 69 2f 77 71 79 2d 6d 69 63 72 6f 68 65 69 2e 74 74 63 0a





Convert ASCII to Hex(改成Windows機碼樣式)

echo /usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc|od -tx1 |cut -c8-|tr -d '\n'|tr -s ' ' ','|sed 's/^,//'


2f,75,73,72,2f,73,68,61,72,65,2f,66,6f,6e,74,73,2f,77,65,6e,71,75,61,6e,79,69,2f,77,71,79,2d,6d,69,63,72,6f,68,65,69,2f,77,71,79,2d,6d,69,63,72,6f,68,65,69,2e,74,74,63,0a



最後把機碼改回正確的路徑文字就能正常顯示了,想知道我怎麼改的就看原文囉。








都能正常顯示










沒有留言:

張貼留言