java转中文
『壹』 java中怎么把utf-8编码的字符串转成汉字
java中怎么把utf-8编码的字符串转成汉字
如果确实报错,下面我写的一个例子,你可以看一下。
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("D:\x.person"));
oos.writeObject(newPerson("张三",20));
oos.writeObject(newPerson("李四",18));
oos.writeObject(newPerson("王五",23));
oos.writeObject(null);//插入null是用来判断是否读取到结尾。
oos.close();
ObjectInputStreamois=newObjectInputStream(newFileInputStream("D:\x.person"));
Objectobj=null;
while((obj=ois.readObject())!=null){//如果为null就读取到文件结尾了。
Personperson=(Person)obj;
System.out.println(person);
}
}
}
{
=1L;
privateStringname;
privateintage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicStringtoString(){
returnthis.name+":"+this.age;
}
}
『贰』 java中如何把字符串中的数字转换为汉字
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(format("登记编号123456正在审批过程中。"));
}
publicstaticStringformat(Stringtext){
for(inti=0;i<10;i++){
text=text.replace((char)('0'+i),
"零一二三四五六七八内九容".charAt(i));
}
returntext;
}
}
『叁』 使用Java程序如何让阿拉伯数字转换成中文
import java.util.Scanner;
public class Num
{
public Num() {}
static String []bigNum={"零","一","二","三","四","五","六","七","八","九"};
static String getNUM(String str)
{
int t=Integer.parseInt(str);
return bigNum[t];
}
public static void main(String[] args)
{
try
{
String strbig=new String("");
System.out.print("请输入数字:");
Scanner sc=new Scanner(System.in);
long num=sc.nextLong();
String temp=String.valueOf(num);
int b=temp.indexOf(".");
int s=temp.length()-(b+1);
int j=b;
for (int i =0; i<b;i++) {
strbig+=getNUM(temp.substring(i,i+1));
j--;
}
temp=temp.substring(b+1,temp.length());
for (int i = 0; i < s; i++)
{
strbig+=getNUM(temp.substring(i,i+1));
}
System.out.println("转换结果:"+strbig);
}
catch(Exception ex)
{
System.out.println("请输入整数");
}
}
}
『肆』 java编程 数字转换成汉字
我自己写的,匆忙写的。我有时间再改进改进。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Stack;
/*
* 本程序
*/
public class Transfer {
public Stack<Integer> transfer(int n){
Stack<Integer> st = new Stack<Integer>();
int division = 0; //余数
while(n>=10){
division = n%10;
st.push(division);
n = n/10;
}
st.push(n); //将最高位压栈
return st;
}
public static void main(String[]args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String in = "";
try {
in = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int n = 0;
try{
n = Integer.parseInt(in);
} catch(NumberFormatException e){
e.printStackTrace();
}
Transfer tf = new Transfer();
Stack<Integer> s = tf.transfer(n);
/*
while(!s.empty()){
System.out.print(s.pop()); //测试语句
}
*/
HashMap<Integer, String> hp1 = new HashMap<Integer, String>(); //第一个映射表
hp1.put(0, "零"); //根据所在位的数值与中文对应
hp1.put(1, "一");
hp1.put(2, "二");
hp1.put(3, "三");
hp1.put(4, "四");
hp1.put(5, "五");
hp1.put(6, "六");
hp1.put(7, "七");
hp1.put(8, "八");
hp1.put(9, "九");
HashMap<Integer, String> hp2 = new HashMap<Integer, String>(); //第二个映射表
hp2.put(2, "十"); //根据所在位数,与中文对应
hp2.put(3, "百");
hp2.put(4, "千");
hp2.put(5, "万");
hp2.put(6, "十万");
hp2.put(7, "百万");
hp2.put(8, "千万");
hp2.put(9, "亿");
//System.out.println(s.size());
String out = "";
while(!s.isEmpty()){
int temp = s.pop();
if(s.size()==0){
if(temp !=0){
out = out + hp1.get(temp);
}
}
else{
if(temp==0){
out = out + hp1.get(temp);
}
else{
out = out + hp1.get(temp) + hp2.get(s.size()+1);
}
}
}
System.out.println(out);
}
}
对于如2008之类的数,输出的是二千零零八,还需要加以判断,我再去处理下。
还有涉及万以上的数,比如
123456
输出的是一十万二万三千四百五十六,也必须增加判断。
『伍』 java 怎么把unicode转中文
/**
* @Title: decodeUnicode<br>
* @param dataStr 汉字转化为Unicode后的字符串<br>
* @return String Unicode码转化为的汉字<br>
* @throws <br>
* @dateTime 2016-9-11 上午:50:48<br>
* @Description: 将Unicode码转为汉字<br>
*/
public static String decodeUnicode(final String dataStr) {
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start > -1) {
end = dataStr.indexOf("\\u", start + 2);
String charStr = "";
if (end == -1) {
charStr = dataStr.substring(start + 2, dataStr.length());
} else {
charStr = dataStr.substring(start + 2, end);
}
char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
buffer.append(new Character(letter).toString());
start = end;
}
return buffer.toString();
}
『陆』 java中,utf-8编码的转义字符怎么转换成中文
String str = new String("暗示大家".getBytes(),"UTF-8");
重新用utf-8编码
或者用专
URLDecoder.decode("xxxxxx", "UTF-8");重新用utf-8解码属
『柒』 用java如何把unicode码转成汉字
java中将unicode码转换成汉字的方式是直接使用string类型,打印即可:
Stringascii="u4f01u4e1a";//这两个unicode码就是企业的
System.out.println(ascii);//打印出来
运行结果:
企业
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。
『捌』 JAVA如何将unicode转为中文。
importorg.apache.commons.lang.StringEscapeUtils;
publicclassrectangle{
publicstaticvoidmain(String[]arge){
Strings=StringEscapeUtils.unescapeHtml("振荡器类型");
System.out.println(s);
}
}
你需要额抄外的工具:
简单的办法袭,去下载commons-lang-2.3.jar,然后加入到classpath里。
或者,如果用manve 加上:
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
让maven去自动下载。
『玖』 Java程序怎么才能把数字转换成中文显示
package 娱乐;
public class qq {
public static void main(String agre[])
{
String a="163420101";
String output="";
for(int i=0;i<a.length();i++){
char aa=a.charAt(i); //取字符串下标索引是i的数 i循环的次数根据字符串的长度.
if(aa=='1')
output+="一";
if(aa=='2')
output+="二";
if(aa=='3')
output+="三";
if(aa=='4')
output+="四";
if(aa=='5')
output+="五";
if(aa=='6')
output+="六";
if(aa=='7')
output+="七";
if(aa=='8')
output+="八";
if(aa=='9')
output+="九";
if(aa=='0')
output+="零";
}
System.out.println(output);
}
}
//随便你输入什么数字
『拾』 java代码转换为汉字
public static String decodeUnicode(String theString) {
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
for (int x = 0; x < len;) {
aChar = theString.charAt(x++);
if (aChar == '\\') {
aChar = theString.charAt(x++);
if (aChar == 'u') {
int value = 0;
for (int i = 0; i < 4; i++) {
aChar = theString.charAt(x++);
switch (aChar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + aChar - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + aChar - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + aChar - 'A';
break;
default:
throw new IllegalArgumentException(
"Malformed encoding.");
}
}
outBuffer.append((char) value);
} else {
if (aChar == 't') {
aChar = '\t';
} else if (aChar == 'r') {
aChar = '\r';
} else if (aChar == 'n') {
aChar = '\n';
} else if (aChar == 'f') {
aChar = '\f';
}
outBuffer.append(aChar);
}
} else {
outBuffer.append(aChar);
}
}
return outBuffer.toString();
}
试下这个方法