PTT編碼 - Linux

Daph Bay avatar
By Daph Bay
at 2014-08-20T12:12

Table of Contents

其實不知道該發在哪個板…但我記得GOOGLE相關問題時有看過LINUX板的文章,
所以就發在這了

最近在寫個讀PTT資料的程式,光在登入畫面我就不行了,讀出來的都是亂碼。經過無數
小時的努力,才發現PTT是用BIG5-UAO編碼。好,知道編碼就行。還好網路上也找的到
BIG5-UAO轉UNICODE的表(跟英文比要找中文資料真是無敵超級難,而且感覺有隨時沒資
料的可能)。

第一個困難點是,當我一個byte一個byte讀登入畫面的資料時,發現ASCII
和BIG5-UAO是混在一串的,ASCII一個字是1 byte,BIG5-UAO一個字是2 bytes。
但還好他們二個低位元的數值沒有重覆(在表裡面是這樣的),我可以先只讀一個位元
來判斷目前的值是不是ASCII,如果是就直接顯示,不是的話就和下個位元合在一起去
查BIG5-UAO轉UNICODE的表。

但傷腦筋的來了,讀到後來資料裡竟然有不在BIG5-UAO也不是ASCII的位元,請問
我該怎麼辦? 這個怪東西是 0x50A1。難道我哪裡搞錯了嗎?

--
Tags: Linux

All Comments

Elma avatar
By Elma
at 2014-08-23T10:59
pcman是不是開源碼的?你可以翻一下他們的source
code去看他們怎麼處理這個問題
Michael avatar
By Michael
at 2014-08-25T00:54
我猜是一字雙色造成的
Brianna avatar
By Brianna
at 2014-08-29T06:40
ptt有輸出utf-8耶 帳號後打, 或直接ssh [email protected]
Annie avatar
By Annie
at 2014-09-01T11:04
一字雙色就是把BIG5的2byte之間插色碼...
Madame avatar
By Madame
at 2014-09-03T13:16
那個編碼怪怪的是因為... 0x50 是 P 這個字??
Poppy avatar
By Poppy
at 2014-09-08T09:04
你先用utf-8試試看 不行的話我再回文 最近剛好也遇過這個
Erin avatar
By Erin
at 2014-09-10T23:47
輸出0x50, 把0xa1和下一個byte合成big5
Valerie avatar
By Valerie
at 2014-09-14T22:31
懶人法, 直接用iconv/icu把big5字串轉成utf8字串
Adele avatar
By Adele
at 2014-09-17T02:21
ssh 上 PTT 的站出來!
Tom avatar
By Tom
at 2014-09-17T19:04
ssh+1
Irma avatar
By Irma
at 2014-09-19T15:53
不知道 pcmanx 能不能增加支援 ssh....
Edward Lewis avatar
By Edward Lewis
at 2014-09-19T19:05
pcmanx 一直都支援 ssh ,只是要改設定檔
Charlotte avatar
By Charlotte
at 2014-09-24T06:22
ssh 連線跟密技一樣 XD
Edith avatar
By Edith
at 2014-09-27T04:29
ssh+1
Dinah avatar
By Dinah
at 2014-09-28T10:05
SSH+1
John avatar
By John
at 2014-09-29T19:53
當然用 ssh ..
Barb Cronin avatar
By Barb Cronin
at 2014-09-30T15:54
pietty +1
Selena avatar
By Selena
at 2014-10-04T21:23
請愛用ssh [email protected] XD
Mason avatar
By Mason
at 2014-10-08T02:26
ssh++
Franklin avatar
By Franklin
at 2014-10-12T13:58
我覺得帳號後面打, 這個纔是密技吧,我現在才知道 XD
Franklin avatar
By Franklin
at 2014-10-13T11:33
登入時帳號後加',' 像你帳號原本sdriver改sdriver,
進去後自然會變UTF-8
Dinah avatar
By Dinah
at 2014-10-13T23:47
luit -encoding big ssh [email protected]
Steve avatar
By Steve
at 2014-10-17T23:44
telnet當然是騙別人用(?

關於桌電使用DLNA傳輸聲音至目標設備...

Puput avatar
By Puput
at 2014-08-19T22:42
※ 引述《zerotech (輪班好累)》之銘言: : 家裡有片Raspberry Pi,因為我實在太不熱血以致它閒置了好一段時間。 : 後來裝了Volumio系統把它變成有DLNA功能(大概吧?)的音樂播放器, : 一般的使用方法是將隨身碟接到RPi上,再用網頁介面控制播放(而且要配DAC跟好喇叭)。 : ...

關於桌電使用DLNA傳輸聲音至目標設備...

William avatar
By William
at 2014-08-19T22:12
家裡有片Raspberry Pi,因為我實在太不熱血以致它閒置了好一段時間。 後來裝了Volumio系統把它變成有DLNA功能(大概吧?)的音樂播放器, 一般的使用方法是將隨身碟接到RPi上,再用網頁介面控制播放(而且要配DAC跟好喇叭)。 不過我想問的是,我能不能在桌電端播放,然後將聲音傳輸到RPi ...

關於shutdown執行權限

Daniel avatar
By Daniel
at 2014-08-19T17:19
因為想要讓php可以把電腦重開或是關掉 所以在網路上找到了一個方法: 用php寫入一個暫存檔當標記 然後root建一個每分鐘的cron job搭配一隻script檢查 如果發現檔案存在就執行shutdown xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

請推薦CentOS 5.10 可完美支援的網卡

Connor avatar
By Connor
at 2014-08-19T15:21
※ 引述《yanli2 ( Yan™)》之銘言: : Server主要是拿來架站, : 內建的網卡在去年暑假時,被閃電打雷給打爆了(兩台都是), : 當時緊急去三井買了張螃蟹卡裝上,發現CentOS可完美支援, : 一裝上去就抓到Driver,省了不少時間。 : 但由於Server主要是拿來架站的,平時大概 ...

畫面變這樣?

Enid avatar
By Enid
at 2014-08-19T02:55
大家好 小弟我只有昨天沒開VirtualBox而已 剛剛要弄東西結果一開... http://ppt.cc/pNWO 之前都是一開始這樣之後進到ubuntu讀取畫面時候就會放大到整個螢幕atat 不知道為什麼突然變這樣,上網搜尋幾乎都是關於螢幕解析度問題 麻煩大家了 謝謝哦 - ...