0

有没有办法使用黑莓中的 windows-1251 编码将字节数组转换为字符串?我试过了

str = new String(mybyteArr, "Windows-1251");

或者

str = new String(mybyteArr, "Cp1251");

但我得到UnsupportedEncodingException

我正在使用黑莓 JRE 5.0。

4

1 回答 1

2

这在 BB API 中不受开箱即用的支持。

BlackBerry 支持以下字符编码:

  • “ISO-8859-1”
  • “UTF-8”
  • “UTF-16BE”
  • “美国 ASCII”

但是,如果您有一个字节数组并且您知道这是一个以 cp1251 编码的字符串,那么您可以String使用 smth 从它手动创建一个,如下所示:

StringBuffer sb = new StringBuffer();
char c;
for (int i = 0; i < mybyteArr.length; i++) {
    c = getUnicodeCharForCP1251(mybyteArr[i]);
    sb.append(c);
}

private char getUnicodeCharForCP1251(byte b) {
    // return a matching unicode char for the argument
    // using the table from http://en.wikipedia.org/wiki/Windows-1251
}
于 2011-05-25T11:22:44.240 回答