如何解码在ISDB(ARIB)传输流中编码的文本字符串?

时间:2009-12-04 15:46:04

标签: unicode character

如何解码在ISDB(ARIB)传输流中编码的文本字符串?某些编码技术在ARIB STD-B24版本5.2(第1卷)规范的第2部分(单媒体编码)的第7章中规定。但我不确定这种编码是否与其他标准的日文字符编码技术不同,如EUC-JP,ISO-2022-JP,JIS X208等。这个编码标准名称是什么?

如果我知道ISDB流中使用的编码名称(代码页),我可以使用ICU之类的第三方库,如下所示。

UConverter * ucnv_open(const char * converterName,UErrorCode * err) conv = ucnv_open(“shift_jis”,& status); len = ucnv_toUChars(conv,target,100,source,strlen(source),& status); ucnv_close(CONV);

我还试图自己解码从ISDB传输流中获取的ARIB字符串,但我没有通过,因为我遇到了几个问题,这对我来说并不清楚。

有4个图形集G0,G1,G2和G3。我所理解的是这些集合的初始值是 G0:汉字系统集 G1:字母数字集 G2:平假名集 G3:宏代码集

G0,G1,G2和G3的值有时可以更改还是保持固定? 什么是宏代码集?

在解码时,有两个概念,“代码元素的调用”和“图形集的指定”。如何从转义码中使用它?例如,我尝试解码从流中获取的以下字符串:

1b 7c c1 e3 f3 cd eb 26 41 1b 7d fe 4e 78 30 26 37 6b 3a 27 ce 4b 21 42 27 0e 28 1b 7c eb f9 eb 29 0f 21 21 0e 23 30 38 1b 24 3b 0f 7a 6a 7a 56 7a 59

如何获取GL和GR值,比如上面的字符串以及每个字符是使用2个字节还是1个字节?如果任何人都可以提供一些提示来解码上面的字符串,那将非常有用。

1 个答案:

答案 0 :(得分:1)

进行解码

6-STD-B24v5_2-1p3-E1.pdf

第2部分,第7章

默认设置第3部分,第8章

指定

G0 = Kanji (2 Byte) JIS X 0213:2004 8-bit code vs Unicode mapping table
G1 = AlphaNumeric (1 Byte)
G2 = Hiragana (1 Byte)
G3 = Macro code set (not decoded by the example below!!)

调用

GL <= G0
GR <= G2

解码:

1b 7c // Invocation GR <= G3
c1    // Right Table, Makro, Symbol..
e3    // ... sorry no ..
f3    // ... idea ..
cd    // ...
eb    // ...
26 41 // Left table, 2 bytes 0x2641 U+03B1  # GREEK SMALL LETTER ALPHA
1b 7d // Invocation GR <= G2
fe    // right table hiragana WideChar($7E + $3020);
4e 78 // Left table 0x4E78  U+604B  # <cjk>
30 26 //           0x3026   U+611B  # <cjk>
37 6b //           0x376B   U+7D50  # <cjk>
3a 27 //           0x3A27   U+5A5A  # <cjk> 
ce    // right table hiragana WideChar($4E + $3020);
4b 21 // left table 0x4B21  U+6CD5  # <cjk>
42 27 // 0x4227 U+5247  # <cjk>
0e    // Invocation GL <= G1
28    // left table "(" 
1b 7c // Invocation GR <= G3
eb    // right table, makro, symbols
f9    // ... no idea
eb    // ... no idea
29    // left table ")" 
0f    // Invocation GL <= G0
21 21 // left table 0x2121  U+3000  # IDEOGRAPHIC SPACE
0e    // Invocation GL <= G1
23    // left table "#"
30    // left table "0"
38    // left table "8"
1b 24 3b // Designation G0 <= Additional Symbols
0f    // Invocation GL <= G0
7a 6a // Left Table, addional symbols 2 Byte code, cell 74 row 90 (rebroadcast)
7a 56 // cell 54 row 90 (closed-captioned broadcast)
7a 59 // cell 57 row 90 (stereo broadcasting service)

αゞ恋爱结婚の法则()#08

完全αゞ爱婚姻法()#08