1. HOME
  2. 2011年7月アーカイブ
2011.07.04 23:57

【Java】日本語文字列をUnicodeに変換する

以前のエントリー(【Java】JSON-lib)で、JavaのMapからJSONを出力しましたが、このままだと日本語がUnicodeにエンコードされないので、PHPでいうjson_encodeをJavaで実現したいと思います。

 

以下の関数でUnicodeにエンコードできます。

 

▽ソース▽

 
	public static String unicodeEscape(String v){
		if(v == null )return "";
		
		char[] charValue = v.toCharArray();
		
		StringBuilder result = new StringBuilder();
		for(char ch : charValue){
			if(ch != '_' && !(ch >= '0' && '9' >= ch) && !(ch >= 'a' && 'z' >= ch) && !(ch >= 'A' && 'Z' >= ch)){
				String unicodeCh = Integer.toHexString((int)ch);
				
				result.append("\\u");
				for(int i=0;i<4-unicodeCh.length();i++){
					result.append("0");
				}
				result.append(unicodeCh);
				
			}else{
				result.append(ch);
			}
		}
		
		return result.toString();
	}

 

先頭へ戻る