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();
}
試下這個方法