(C) id3v2 frame flag ISO-88591 UTF16/BE, UTF-8問題 |
尚未結案
|
3215009
一般會員 發表:1 回覆:1 積分:0 註冊:2005-12-01 發送簡訊給我 |
工作上需寫一個讀取mp3 tag的library,ID3v1較簡單,加上網路有library可參考,ID3v2的frame也知道如何讀取.
但ID3v2 frame flag如何讀取令我頗困擾,id3.org的說明也不太清楚,還是我該去找ISO-8859-1,UTF16,UTF16BE, UTF-8相關資訊? 根據id3.org說明,frame header最後兩byte為flag編碼 00000000 00000000為ISO-8859-1 00000000 00000001為UTF-16 00000000 00000002為UTF-16BE 00000000 00000003為UTF-8 照ultra-edit所看到內容,header後面frame size所佔byte,扣掉頭尾$00,中間就是所要讀取的資訊,UTF-16類似,但需略過frame size所佔 前3byte,為$01 $FF $FE,以及分隔的byte $00即可,上述這些有在ASCII裡面的字元都可以讀出. 問題為UTF-16BE和UTF-8該如何讀取?UTF-126E似乎和UTF-16相似,UTF-8就完全沒頭緒了,另外我的code只能讀英文檔名,如果是日,韓 或其他就沒辦法讀,讀中文會顯示亂碼,爬文發現,ISO-8859-1和UTF-16為ID3v2.3支援的編碼格式,UTF-16BE和UTF-8為ID3v2.4支援的 格式,ID3v2.4支援了的兩種格式,我該如何處理?麻煩各位替在下解惑,thanks... ps:我在linux ubuntu上執行,compiler為gcc 編輯記錄
3215009 重新編輯於 2010-12-31 11:05:47, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |