全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1293
推到 Plurk!
推到 Facebook!

(C) id3v2 frame flag ISO-88591 UTF16/BE, UTF-8問題

尚未結案
3215009
一般會員


發表:1
回覆:1
積分:0
註冊:2005-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-01-01 02:04:04 IP:114.37.xxx.xxx 訂閱
工作上需寫一個讀取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, 註解 無‧
系統時間:2017-12-14 16:04:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!