㈠ java:在Java中String是以Unicode保存的嗎
字元串在java內存中總是按unicode編碼存儲的。比如"中文",正常情況下(即沒有錯誤的時候)存儲為"4e2d 6587",如果charset為"gbk",則被編碼為"d6d0 cec4",然後返回位元組"d6 d0 ce c4".如果charset為"utf8"則最後是"e4 b8 ad e6 96 87".如果是"iso8859-1",則由於無法編碼,最後返回 "3f 3f"(兩個問號)。
java虛擬機採用UCS2(通用字元集)標準保存字元,所有的字元在內存中都是2個位元組,這樣虛擬機處理字元串的截取、長度和判斷都非常容易。其他語言如PHP、Python也是,在運行時採用固定長度存儲字元。
相對應編譯後的class,java規定採用UTF-8保存,因為大部分是英文字元,只有一個位元組,可以大量節省存儲空間。
㈡ Java獲取字元的Unicode編碼以及如何過濾特
java中可以使用char類提供的charAt()方法來獲得字元的unicode的編碼值,示例如下:
public static String getUnicode(String source){ String returnUniCode=null; String uniCodeTemp=null; for(int i=0;i<source.length();i++){ uniCodeTemp = "\\u"+Integer.toHexString((int)source.charAt(i));//使用char類的charAt()的方法 returnUniCode=returnUniCode==null?uniCodeTemp:returnUniCode+uniCodeTemp; } System.out.print(source +" 's unicode = "+returnUniCode); return returnUniCode;//返回一個字元的unicode的編碼值}
㈢ 在java中如何輸入unicode碼出字元,有沒有方法,\ 一定不行,因為unicode 碼是變數
importjava.util.Scanner;
publicclasstest_unicode{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("請輸入unicode碼
例如:\u5b57\u7b26");
StringinStr=sc.nextLine();
System.out.println(decode(inStr));
sc.close();
}
publicstaticStringdecode(StringunicodeStr){
if(unicodeStr==null){
returnnull;
}
StringBufferretBuf=newStringBuffer();
intmaxLoop=unicodeStr.length();
for(inti=0;i<maxLoop;i++){
if(unicodeStr.charAt(i)=='\'){
if((i瞎碧<maxLoop-5)
&&((unicodeStr.charAt(i+1)=='u')||(unicodeStr
隱神明灶告.charAt(i+1)=='U')))
try{
retBuf.append((char)Integer.parseInt(
unicodeStr.substring(i+2,i+6),16));
i+=5;
}catch(){
retBuf.append(unicodeStr.charAt(i));
}
else
retBuf.append(unicodeStr.charAt(i));
}else{
retBuf.append(unicodeStr.charAt(i));
}
}
returnretBuf.toString();
}
}
㈣ java中unicode碼編碼問題:String msg1="";System.out.println(msg.getBytes("Unicode").length);
String msg2="a"散基;System.out.println(msg.getBytes("Unicode").length);
String msg3="a";System.out.println(msg.getBytes("Unicode").length);
無攜冊論那行,都是沖隱謹取msg來處理了。msg 的值是什麼呢。
String msg2="a";System.out.println(msg2.getBytes("Unicode").length);
String msg3="a";System.out.println(msg3.getBytes("Unicode").length);
本機測試過,正常 win7 jre1.6.30
㈤ 怎樣講string轉換成unicode,請高手來 Java SE
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
{
=1L;
staticJTextFieldjt1;
staticJTextAreajt2;
JScrollPanejsp;
JButtonjb;
publicUCodeDemo(){
jt1=newJTextField(20);
jt1.setText("沖族請輸入....");
//給單行文本框添加事件監聽,當監聽到鍵盤的回車鍵的時候,顯示字元在Unicode的位置
jt1.addKeyListener(newKeyAdapter(){
@Override
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==KeyEvent.VK_ENTER){
getUcode();
}
}
});
jt2=newJTextArea();
jb=newJButton("確定宏褲");
jsp=newJScrollPane(jt2,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//給按鈕設置事件監聽,當點擊按鈕的時候,顯示字元在Unicode的位置
jb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
getUcode();
}
});
this.setLayout(newBorderLayout());
this.add(jt1,BorderLayout.NORTH);
this.add(jb,BorderLayout.SOUTH);
this.add(jsp,BorderLayout.CENTER);
this.setTitle("Unicode小應用");
this.setLocation(350,250);
this.setSize(300,300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
//方法:顯示字元在Unicode的位置
protectedvoidgetUcode(){
Stringstr=jt1.getText();
char[]cc=str.toCharArray();
StringBuffersb=newStringBuffer();
for(inti=0;i<cc.length;i++){
sb.append("【"+cc[i]+"的Unicode位置】:"+(int)cc[i]+"
");
}
jt2.setText(sb.toString());
jt2.setForeground(getColor());
}
publicstaticvoidmain(String[]args){
newUCodeDemo();
}
privateColorgetColor(){
return蔽判簡newColor(getRandom(),getRandom(),getRandom());
}
intgetRandom(){
intrgb=(int)(Math.random()*256);
returnrgb;
}
}
㈥ java程序輸出Unicode碼
額 你真不友好啊 別人幫你你還罵 String string = "\u000"+i; 換成單引號試試 你用字元串加整形了 字元串與字元鍵滲創的拼接用+號
for (int i = 0x0000; i <10 ; i++)
{
int string = '敗亮首\u000'察數+i;
System.out.println(string);
}
㈦ 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);
}
㈧ 用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編碼值
java中可以使用char類提供的charAt()方法來獲得字元的unicode的編碼值,示例如下:
(9)javaunicodestring擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
參考資料:網路-java
㈩ java裡面怎麼用一個string來計算unicode類型的md5
public int compareTo(String anotherString)
Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings.
api中有講尺培,是按照unicode值來比較陵畢唯的數鎮。