Hi,
How to decode a text string encoded in the ISDB (ARIB) Transport streams? Some encoding technique is specified in Chapter 7 of Part 2 (Mono media Coding) of ARIB STD-B24 Version 5.2 (Volume 1) specification. But I am not sure whether this encoding is different from other standard Japanese character encoding techniques, like EUC-JP, ISO-2022-JP, JIS X208 etc.What is this encoding standard name?
If I know the encoding name (code page) used in the ISDB streams, the I can use third party libraries like ICU as follows.
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);
I also tried to decode an ARIB string taken from a ISDB Transport Stream on our own, but I am not through as I have encountered several issues, which are not clear to me.
There are 4 Graphics sets G0, G1, G2 and G3. What I have understood is that the initial values of the sets are G0 : Kanji system set G1 : Alphanumeric set G2 : Hiragana set G3 : Macro code set
Can the values of G0, G1, G2 and G3 be changed at times or they remain fixed? What is this Macro code set?
At the time of decoding, there are two concepts, "Invocation of code elements" and "Designation of graphic sets". How to use this from the escape codes? For example I tried to decode the following string taken from a stream:
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
How to get GL and GR values, say for the above string and whether to use 2 bytes or 1 byte per character? It will be extremely helpful if anybody can give some hint to decode the above string.