黑莓中的CP037编码

时间:2012-07-14 06:59:36

标签: blackberry encoding java-me

由于默认情况下BlackBerry不支持CP037 encoding,是否有人知道我是否可以使用现成的libaray?我在网上看过,我似乎什么也看不见。是我自己写的唯一选择吗?有没有人有关于如何做这样的事情的任何提示?

1 个答案:

答案 0 :(得分:2)

编写自己的字节 - >字符串解码器似乎非常简单,因为编码不超过256个字符。只需将table from Wikipedia转换为switch语句,并将结果字符累积为String。

byte[] rawCP037data = getEbcdicDatabytes();
StringBuffer buf = new StringBuffer();
for(int i = 0; i < rawCP037data.length; i++) {
    buf.append(convertCP037toUnicodeChar(rawCP037data[i]));
}
String decodedString = buf.toString();

char convertCP037toChar(byte b) {
    switch (b) {
    case 0x99:
      return 'r';
    case 0xAB:  // upside down question mark
      return 0x00BF;
    // TODO! fill out the rest of the table here
    }
}