0

ブラックベリーのwindows-1251エンコーディングでバイト配列を文字列に変換する方法はありますか?私は試した

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

また

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

しかし、UnsupportedEncodingExceptionが発生します。

BlackberryJRE5.0を使用しています。

4

1 に答える 1

2

これは、BBAPIの箱から出してすぐにはサポートされていません。

BlackBerryは、次の文字エンコードをサポートしています。

  • 「ISO-8859-1」
  • 「UTF-8」
  • 「UTF-16BE」
  • 「US-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 に答える