1. 判斷一個字元是雙位元組還是單位元組_達內java培訓
在JAVA語言中對於字元串的處理,經常會遇到需要判斷字元是雙位元組還是單位元組(或者全形和半形)的情況,達內表示因為雙位元組字元和單位元組字元在屏幕上所佔用的空間是不同的,通常情況下雙位元組字元佔用的空間是單位元組字元的兩倍。
比如,一個字元串,可能包含中文英文數字和各種符號等等,將其輸出到屏幕上,需要根據長度判斷在哪裡進行截斷(網頁編程中經常用到)。
最常見的兩種方式:
一種是通過String的getBytes().length來判斷,單個字元構成的字元串,其getBytes().length若大於1,則為雙位元組字元,否則為單位元組字元。不過需要注意的是,這種方式有一定缺陷,就是當使用英文*作系統來執行getBytes().length這句代*的時候,單位元組雙位元組文本得到的結果是一樣的。這是因為不同的JAVA虛擬機對於字元的處理方式不同。所以,雖然這種方法很簡單,而且在大多數時候很有效,但是考慮到可能會有少部分使用英文*作系統的人,還是建議用下一種方法。
另外一種是通過判斷某一位的字元是否大於0x80,如果大於則為雙位元組字元,否則為單位元組字元。
以上是達內在Java培訓課程中對於字元單雙位元組的介紹,希望對大家有一定的幫助。
2. java判斷全形程度怎麼判斷
//根據編碼來達成你的要求。
//默認編碼
Stringmsg="我的長度是十四";
intlen=msg.getBytes().length;
System.out.println(len);
//UTF-8是21
//UTF-16是16
//UTF-32是28
//Unicode是16
你可以自己列印試試
3. 如何判斷一個java字元串中是否含有半形字元
給你個思路
char a = 'a';
char b = 'a';// 全形a
char aa = 'z';
char bb = 'z'; //全形z
System.out.println((int)a+":"+(int)aa);
System.out.println((int)b+":"+(int)bb);
結果,半形a~z的值是在97~122
全形 a~z的值在65345~65370之間
據此判斷即可。
4. java 怎麼判斷讀進來的文字是半形還是全形
網上很多,找一下。
比如:http://blog.163.com/john_04047210/blog/static/53685021200825024831/
http://hi..com/lilianshun2008/blog/item/1434d1cf3a9ed435f8dc610f.html