2012-03-28

Force.com : Apex で Unicode を文字列に変換したい


Apex で Unicode(\u0000)を文字列に変換したい



○ Unicode(\u0000)を文字列に変換したい

/**
 * Unicode を文字列に変換する
 * @param hexadecimal Unicode
 * @return 文字列
 */
static String unicodeToString(String unicode) {
    Map<String, Integer> hexadecimalToDecimalMap = new Map<String, Integer>();
    hexadecimalToDecimalMap.put('0', 0);
    hexadecimalToDecimalMap.put('1', 1);
    hexadecimalToDecimalMap.put('2', 2);
    hexadecimalToDecimalMap.put('3', 3);
    hexadecimalToDecimalMap.put('4', 4);
    hexadecimalToDecimalMap.put('5', 5);
    hexadecimalToDecimalMap.put('6', 6);
    hexadecimalToDecimalMap.put('7', 7);
    hexadecimalToDecimalMap.put('8', 8);
    hexadecimalToDecimalMap.put('9', 9);
    hexadecimalToDecimalMap.put('A', 10);
    hexadecimalToDecimalMap.put('B', 11);
    hexadecimalToDecimalMap.put('C', 12);
    hexadecimalToDecimalMap.put('D', 13);
    hexadecimalToDecimalMap.put('E', 14);
    hexadecimalToDecimalMap.put('F', 15);

    Integer c = 0;
    for(Double i=2, len=unicode.length(); i<len; i++) {
        c += (Math.pow(16, (len - i - 1)).intValue() * hexadecimalToDecimalMap.get(unicode.substring(i.intValue(), i.intValue()+1)));
    }
    List<Integer> chars = new List<Integer>();
    chars.add(c);
    return String.fromCharArray(chars);
}



◆ メモ




◇ 環境

  • Salesforce - Developer Edition - API バージョン 24.0



◇ 参考


0 件のコメント:

コメントを投稿