久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Java轉(zhuǎn)義

 碧海山城 2010-11-24
所有的轉(zhuǎn)義字符都是由 '\' 打頭的
  第二個(gè)字符
      0-9  :八進(jìn)制
      u    :是Unicode轉(zhuǎn)意,,長度固定為6位
      Other:則為以下字母中的一個(gè) b,t,n,f,r,",\
            都不滿足,則產(chǎn)生一個(gè)編譯錯(cuò)誤,。
 
unicode編碼簡而言之就是將每一個(gè)字符用16位2進(jìn)制數(shù)標(biāo)識,。但是通常都用4位的16進(jìn)制數(shù)標(biāo)識。 
例如: 
1)中文字符串"你好"的unicode碼為:\u4f60\u597d; 
2)英文字符串"ab"的unicode碼為:\u0061\u0062,; 
其中\(zhòng)u是標(biāo)識unicode碼用的,,后面的4位16進(jìn)制數(shù)則是對應(yīng)字符的unicode碼。 

unicode碼在J2EE項(xiàng)目中應(yīng)用廣泛,,java對unicode碼提供了很好的支持,。例如國際化,,則是unicode的經(jīng)典運(yùn)用。 
那么unicode的編碼規(guī)則具體是什么,,如何用程序?qū)崿F(xiàn),? 

1、unicode編碼規(guī)則 

   unicode碼對每一個(gè)字符用4位16進(jìn)制數(shù)表示,。具體規(guī)則是:將一個(gè)字符(char)的高8位與低8位分別取出,,轉(zhuǎn)化為16進(jìn)制數(shù), 
   如果轉(zhuǎn)化的16進(jìn)制數(shù)的長度不足2位,,則在其后補(bǔ)0,,然后將高、低8位轉(zhuǎn)成的16進(jìn)制字符串拼接起來并在前面補(bǔ)上"\u" 即可,。 
   
2,、轉(zhuǎn)碼程序 

1)字符串轉(zhuǎn)unicode 

/** 
* 將字符串轉(zhuǎn)成unicode 
* @param str 待轉(zhuǎn)字符串 
* @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轉(zhuǎn)成字符串,與上述過程反向操作即可 
/** 
* 將unicode 字符串 
* @param str 待轉(zhuǎn)字符串 
* @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(); 
}

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多