java轉換unicode
1. java怎麼把漢字轉化成unicode編碼
中文轉換成Unicode編碼和Unicode編碼轉換成中文
importjava.util.Properties;
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="簡介";
Stringtt=gbEncoding(s);//Stringtt1="你好";
System.out.println(decodeUnicode("\u7b80\u4ecb"));//System.out.println(decodeUnicode(tt1));
System.out.println(HTMLDecoder.decode("中國"));
Strings1="u7b80u4ecb";
System.out.println(s.indexOf("\"));
}
publicstaticStringgbEncoding(finalStringgbString){
char[]utfBytes=gbString.toCharArray();
StringunicodeBytes="";
for(intbyteIndex=0;byteIndex<utfBytes.length;byteIndex++){
StringhexB=Integer.toHexString(utfBytes[byteIndex]);
if(hexB.length()<=2){
hexB="00"+hexB;
}
unicodeBytes=unicodeBytes+"\u"+hexB;
}
System.out.println("unicodeBytesis:"+unicodeBytes);
returnunicodeBytes;}
(finalStringdataStr){
intstart=0;
intend=0;
finalStringBufferbuffer=newStringBuffer();
while(start>-1){
end=dataStr.indexOf("\u",start+2);
StringcharStr="";
if(end==-1){
charStr=dataStr.substring(start+2,dataStr.length());
}else{
charStr=dataStr.substring(start+2,end);
}
charletter=(char)Integer.parseInt(charStr,16);//16進制parse整形字元串。
buffer.append(newCharacter(letter).toString());
start=end;
}
returnbuffer.toString();
}}
}
}
}
2. java有關unicode與十進制數字的轉換
1、unicode編碼規則
unicode碼對每一個字元用4位16進制數表示。具體規則是:將一個字元(char)的高8位與低8位分別取出,轉化為16進制數,
如果轉化的16進制數的長度不足2位,則在其後補0,然後將高隱空扮、低8位轉成的16進灶灶制字元串拼接起來並在前面補上"\u" 即可。
2、轉碼程序
1)字元串轉unicode
/**
* 將字元串轉成unicode
* @param str 待轉字元串
* @return unicode字元串
*/
public String convert(String str)
{
str = (str == null ? "" : str);
String tmp;
StringBuffer sb = new StringBuffer(1000);
char c;
int i, j;
sb.setLength(0);
for (i = 0; i < str.length(); i++)
{
c = str.charAt(i);
sb.append("\\u");
j = (c >>>8); //取出高8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);
j = (c & 0xFF); //取出低8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);
}
return (new String(sb));
}
2)unicode轉成字元串,與上述過程反向操作即可
/**
* 將unicode 字元串
* @param str 待轉字元串
* @return 普通字元串
*/
public String revert(String str)
{
str = (str == null ? "" : str);
if (str.indexOf("\\u") == -1)//如果不是unicode碼則原樣返回
return str;
StringBuffer sb = new StringBuffer(1000);
for (int i = 0; i < str.length() - 6;)
{
String strTemp = str.substring(i, i + 6);
String value = strTemp.substring(2);
int c = 0;
for (int j = 0; j <虧寬 value.length(); j++)
{
char tempChar = value.charAt(j);
int t = 0;
switch (tempChar)
{
case 'a':
t = 10;
break;
case 'b':
t = 11;
break;
case 'c':
t = 12;
break;
case 'd':
t = 13;
break;
case 'e':
t = 14;
break;
case 'f':
t = 15;
break;
default:
t = tempChar - 48;
break;
}
c += t * ((int) Math.pow(16, (value.length() - j - 1)));
}
sb.append((char) c);
i = i + 6;
}
return sb.toString();
}
3. 用eclipse寫java時,怎麼把中文字元轉換成unicode
在ECLIPSE中安裝Property插件,然後打開一個Property文件,右鍵該文件,選隱絕世擇【Unicode表灶肢示】菜單,宏做彈出文件中以unicode方式顯示該文件的全部內容
4. java中Unicode碼的轉換
private static String decode(char[] in) throws Exception {
int off = 0;
char c;
char[] out = new char[in.length];
int outLen = 0;
while (off < in.length) {
c = in[off++];
if (c == '\\') {
if (in.length > off) { // 是否有下一個字元
c = in[off++]; // 取出下一個字元
} else {
out[outLen++] = '\\'; // 末字元為'\',返回
break;
}
if (c == 'u') { // 如果是"\\u"
int value = 0;
if (in.length > off + 4) { // 判斷"\\u"後邊是否有四個字元
boolean isUnicode = true;
for (int i = 0; i < 4; i++) { // 遍歷四個字元
c = in[off++];
switch (c) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + c - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + c - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + c - 'A';
break;
default:
isUnicode = false; // 判斷是否為unicode碼
}
}
if (isUnicode) { // 是unicode碼轉換為字元
out[outLen++] = (char) value;
} else { // 不是unicode碼把"\\uXXXX"填入返回值
off = off - 4;
out[outLen++] = '\\';
out[outLen++] = 'u';
out[outLen++] = in[off++];
}
} else { // 不夠四個字元則把"\\u"放入返回結果並繼續
out[outLen++] = '\\';
out[outLen++] = 'u';
continue;
}
} else {
switch (c) { // 判斷"\\"後邊是否接特殊字元,回車,tab一類的
case 't':
c = '\t';
out[outLen++] = c;
break;
case 'r':
c = '\r';
out[outLen++] = c;
break;
case 'n':
c = '\n';
out[outLen++] = c;
break;
case 'f':
c = '\f';
out[outLen++] = c;
break;
default:
out[outLen++] = '\\';
out[outLen++] = c;
break;
}
}
} else {
out[outLen++] = (char) c;
}
}
return new String(out, 0, outLen);
}
5. Java如何將一段漢字變成unicode碼
publicclassT{
publicstaticvoidmain(String[]args){
Strings="我愛你";
System.out.println(string2Unicode(s));
}
(Stringstring){
StringBufferunicode=newStringBuffer();
for(inti=0;i<string.length();i++){
//取出每一個字元
charc=string.charAt(i);
//轉換為unicode
unicode.append("\u"+Integer.toHexString(c));
}
returnunicode.toString();
}
}
6. java怎麼把字元串轉換為UTF8的unicode碼
String str="你好";
char[] ch=str.toCharArray();
String ss=null;
for (int i = 0; i <螞和 ch.length; i++) {
ss="\悶世盯返啟\u"+Integer.toHexString(ch[i]);
System.out.println(ss);
}
7. JAVA程序,從鍵盤輸入漢字,並將漢子轉換為相應的unicode編碼,怎麼寫啊
上代碼:
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("請輸入漢字:");
Stringinput=sc.nextLine();
塌漏if(input.length()==0){
System.out.println("輸入錯誤");
return;
}
System.out.println("漢字轉unicode結果:");
char[]chars=input.toCharArray();
for(inti=0;i<chars.length;i++){
Stringunicode=Integer.toHexString(chars[i]);
if(unicode.length()<=2){
團哪爛//不足四位前面加0補齊
緩激unicode="00"+unicode;
}
unicode="\u"+unicode;
System.out.println(chars[i]+":"+unicode);
}
}
}
8. Java如何將一段漢字變成unicode碼 例如我隨意輸入幾個字 讓它輸出Unicode 求代碼
按照指定字元集讀取亂旦文本(utf-8或者gbk)得到字元串,按照字元一個一個提取輪渣出來,轉換成unicode字元嘩桐擾集的位元組數組,轉成16進制輸出即可。
9. JAVA中如何將文件轉換成UNICODE加密字元串
直接將char 轉換陵宏成int 得到的就尺蔽冊是對應的Unicode碼並宴了。。
再用16進製表示就可以了。
java.lang.Integer.toHexString(int i)
10. JAVA怎麼把藏文字元Unicode
在 Java 中,可以使用 Unicode 編碼來表示藏文字元。Unicode 是一種標准化的字擾鬧銷符編碼標准,它為每個字元分配了一個唯一的數字編碼,可以緩游用於在不同的計算機系統和編程語言彎拆中表示字元。
藏文字元的 Unicode 編碼范圍為 0F00 到 0FFF,可以使用 Java 中的字元類型char來表示。具體方法如下:
使用 Unicode 轉義序列表示藏文字元。Unicode 轉義序列是以u開頭,後跟四個十六進制數字的形式,表示一個 Unicode 字元。
- char c = 'u0F56';
直接使用藏文字元。
- char c = 'བ';
例如,要表示藏文字元 "བ",可以使用u0F56來表示:
在 Java 中,可以直接使用藏文字元,只要確保源代碼文件的編碼格式為 UTF-8,並在編譯時指定編碼格式為 UTF-8。例如,在 Eclipse IDE 中,可以在項目的編譯選項中添加-encoding UTF-8參數來指定編碼格式為 UTF-8。
以上是在 Java 中表示藏文字元的兩種方法,根據具體的需求和編碼環境選擇適合的方法即可。