java漢字unicode
Ⅰ java 中常用漢字 的unicode 碼范圍是多少到多少
常用漢字 的unicode 碼范圍是:u4e00-u9fa5,下面一個例子是把中英文文檔中的漢字提取出來的簡單例子:
publicclassDrawEnglish
{
privatestaticStringdraw(Stringcontent)
{
StringBufferenglish=newStringBuffer();
Stringregex="[u4e00-u9fa5。,?」「《》:!——-、]";
Patternpattern=Pattern.compile(regex);
Matchermatcher=pattern.matcher(content);
while(matcher.find())
{
Stringtemp=matcher.group();
english.append(temp);
}
returnenglish.toString();
}
publicstaticvoiddrawEnglish(Stringpath)
{
FileInputStreamfr;
BufferedReaderbr;
FileWriterfw;
BufferedWriterbw=null;
try
{
fr=newFileInputStream(path);
br=newBufferedReader(newInputStreamReader(fr,"gb2312"));
fw=newFileWriter("new1.txt");
bw=newBufferedWriter(fw);
Stringstr=null;
StringBuffersb=newStringBuffer();
while((str=br.readLine())!=null)
{
sb.append(str+" ");
}
Stringtemp=draw(sb.toString());
bw.write(temp);
}catch(FileNotFoundExceptione)
{
e.printStackTrace();
}catch(IOExceptione)
{
e.printStackTrace();
}
finally
{
try
{
if(bw!=null)bw.close();
}catch(IOExceptione)
{
e.printStackTrace();
}
}
}
publicstaticvoidmain(String[]args)
{
drawEnglish("draw1.txt");
}
}
Ⅱ 編寫JAVA程序輸出中文字的unicode編碼
我寫的,你試試,你可以把它改寫成循環的,可以一直把字元的Unicode輸出,完善後發給我哈:
import java.io.*;
public class FindUnicode {
public static void main(String[] args) throws IOException{
InputStreamReader read = new InputStreamReader (System.in);
int ch = read.read();
System.out.print("\\u"+Integer.toHexString(ch));
read.close();
}
}
Ⅲ 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();
}
}
Ⅳ 用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中,內存的字元表示的是Java的unicode編碼系統中的文件表示的是系統的默認編碼
1、Java中,字元在內存中是用unicode編碼的
2、系統中的文件默認是用默認編碼編碼的。解釋一下:對於每個語言/區域,比如中文/中國,中文/台灣,英語/美國,英語/英國,系統都指定一個特定的編碼方式,當讀取或保存文件時,如果不指定要使用何種編碼方式或讀取時在文件中找不到編碼方式的識別碼(姑且這么叫吧,作用是幫助識別文件的編碼),就會使用這個特定的編碼方式,這就叫默認以默認編碼方式編碼或解碼。
如果文件中存在一個utf8編碼的文件,Reader類讀入它時,為什麼要使用GBK來轉換呢?因為它笨,它只會使用默認編碼來轉換,而此系統的默認編碼恰好是GBK,如果默認編碼是其它的,它也會選擇那個對應的默認編碼來轉換,不要以為Reader類就不犯錯。所以,使用Java的io類庫時,有時需要自己指定編碼,不要以為Java類為你搞定了一切。回頭想想,Reader類表現得有點欠佳,這也很正常。畢竟,這世上有那麼多的編碼方式,Reader類怎麼能盡知你的文件使用的是哪一個,即便它都知道,也不可能有能力處理這么多的編碼方式啊。所以它不管對錯,只認一種——默認編碼方式,負責選擇正確的編碼方式,那是軟體開發者和這個文件使用者的責任。
Ⅵ 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();
}}
}
}
}