『壹』 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("&#25391;&#33633;&#22120;&#31867;&#22411;");
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();

}

試下這個方法