ID3 的語系設定

客戶又抱怨為啥我們的 ID3 顯示經常是亂碼, 競爭者每次都對, 一定不是運氣的關係… 於是我只好又求助 Google 大神了. 果然, ID3 的規格是這樣寫的, 無論有幾個 frame, 每個 frame 都由 frame ID, frame size 和 flag 共 10 個 bytes 開頭, 後續至少有 1 byte 的 content. 如果 frame ID = TLAN, 就表示 ID3 的語系寫在後面的 3 個 bytes 裡面. [1]

這三個 bytes 採用  ISO 3166-1 alpha-3 的定義 [2], 包括簡體 (CHN), 繁體 (TWN) 都有. 據說本來這個定義是用在護照上面, 機器讀到這個代號, 就知道這是哪個國家. 

那麼, 既有 alpha-3, 也會有 alpha-2 嗎?有! 此時中國是 CN, 台灣就是  TW, 美國就是 US [3]. 1但是兩個字母的組合太少, 辨識上比較困難. 南韓叫做 KR, 北韓叫做 KP, 就是沒人認領 KO (knock out)…

[REF]

1.  http://www.id3.org/id3v2.3.0#ISO-639-2

2. http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

3.  http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2