Кодировка Blackberry 1251 - PullRequest
       21

Кодировка Blackberry 1251

0 голосов
/ 25 мая 2011

Есть ли способ преобразовать байтовый массив в строку с кодировкой windows-1251 в Blackberry? я пытался

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

или

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

но я получаю UnsupportedEncodingException .

Я использую Blackberry JRE 5.0.

1 Ответ

2 голосов
/ 25 мая 2011

Это не поддерживается прямо из коробки в BB API.

BlackBerry поддерживает следующие кодировки символов:

  • "ISO-8859-1"
  • "UTF-8"
  • "UTF-16BE"
  • "US-ASCII"

Однако, если у вас есть массив байтов, и вы знаете этоэто строка, закодированная в cp1251, затем вы можете вручную создать String из нее, используя что-то вроде этого:

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
}
...