java中怎么把utf-8编码的字符串转成汉字

Python013

java中怎么把utf-8编码的字符串转成汉字,第1张

把utf-8编码的字符串转成汉字可以参考如下代码:

String str = "%E6%98%9F%E6%9C%9F%E5%87%A0"

String chiStr = null

try {

    chiStr = URLDecoder.decode(str, "utf-8")

} catch (UnsupportedEncodingException e) {

    e.printStackTrace()

}

你这串汉字是「星期几」

package com.heyang

/**

* 将10亿以内的阿拉伯数字转成汉字大写形式

* @author xizhenyin

*

*/

public class CnUpperCaser {

// 整数部分

private String integerPart

// 小数部分

private String floatPart

// 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态

private static final char[] cnNumbers={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}

// 供分级转化的数组,因为各个实例都要使用所以设为静态

private static final char[] series={'元','拾','百','仟','万','拾','百','仟','亿'}

/**

* 构造函数,通过它将阿拉伯数字形式的字符串传入

* @param original

*/

public CnUpperCaser(String original){

// 成员变量初始化

integerPart=""

floatPart=""

if(original.contains(".")){

// 如果包含小数点

int dotIndex=original.indexOf(".")

integerPart=original.substring(0,dotIndex)

floatPart=original.substring(dotIndex+1)

}

else{

// 不包含小数点

integerPart=original

}

}

/**

* 取得大写形式的字符串

* @return

*/

public String getCnString(){

// 因为是累加所以用StringBuffer

StringBuffer sb=new StringBuffer()

// 整数部分处理

for(int i=0i<integerPart.length()i++){

int number=getNumber(integerPart.charAt(i))

sb.append(cnNumbers[number])

sb.append(series[integerPart.length()-1-i])

}

// 小数部分处理

if(floatPart.length()>0){

sb.append("点")

for(int i=0i<floatPart.length()i++){

int number=getNumber(floatPart.charAt(i))

sb.append(cnNumbers[number])

}

}

// 返回拼接好的字符串

return sb.toString()

}

/**

* 将字符形式的数字转化为整形数字

* 因为所有实例都要用到所以用静态修饰

* @param c

* @return

*/

private static int getNumber(char c){

String str=String.valueOf(c)

return Integer.parseInt(str)

}

/**

* @param args

*/

public static void main(String[] args) {

System.out.println(new CnUpperCaser("123456789.12345").getCnString())

System.out.println(new CnUpperCaser("123456789").getCnString())

System.out.println(new CnUpperCaser(".123456789").getCnString())

System.out.println(new CnUpperCaser("0.1234").getCnString())

System.out.println(new CnUpperCaser("1").getCnString())

System.out.println(new CnUpperCaser("12").getCnString())

System.out.println(new CnUpperCaser("123").getCnString())

System.out.println(new CnUpperCaser("1234").getCnString())

System.out.println(new CnUpperCaser("12345").getCnString())

System.out.println(new CnUpperCaser("123456").getCnString())

System.out.println(new CnUpperCaser("1234567").getCnString())

System.out.println(new CnUpperCaser("12345678").getCnString())

System.out.println(new CnUpperCaser("123456789").getCnString())

}

}