導航:首頁 > 編程語言 > java漢字的長度

java漢字的長度

發布時間:2022-07-29 17:47:50

java怎麼判斷判斷某個欄位中漢字的長度在2到20內

代碼如下:
/**
* 在Java中按位元組獲得字元串長度的兩種方法
*
*/

public class App
{
public static void main( String[] args ) throws UnsupportedEncodingException
{
String str = "只";

System.out.println(getWordCount(str));
System.out.println(getWordCountRegex(str));
System.out.println(getWordCountCode(str,"GBK"));
System.out.println(getWordCountCode(str,"UTF-8"));
}

/*由於Java是基於Unicode編碼的,因此,一個漢字的長度為1,而不是2。
* 但有時需要以位元組單位獲得字元串的長度。例如,「123abc長城」按位元組長度計算是10,而按Unicode計算長度是8。
* 為了獲得10,需要從頭掃描根據字元的Ascii來獲得具體的長度。如果是標準的字元,Ascii的范圍是0至255,如果是漢字或其他全形字元,Ascii會大於255。
* 因此,可以編寫如下的方法來獲得以位元組為單位的字元串長度。*/
public static int getWordCount(String s)
{
int length = 0;
for(int i = 0; i < s.length(); i++)
{
int ascii = Character.codePointAt(s, i);
if(ascii >= 0 && ascii <=255)
length++;
else
length += 2;

}
return length;

}

/*基本原理是將字元串中所有的非標准字元(雙位元組字元)替換成兩個標准字元(**,或其他的也可以)。這樣就可以直接例用length方法獲得字元串的位元組長度了*/
public static int getWordCountRegex(String s)
{

s = s.replaceAll("[^\\x00-\\xff]", "**");
int length = s.length();
return length;
}

/*按特定的編碼格式獲取長度*/
public static int getWordCountCode(String str, String code) throws UnsupportedEncodingException{
return str.getBytes(code).length;
}
}

⑵ JAVA中「Abc漢字」的長度是

字元串長度是:5
在JVM中占的位元組數是10,因為java中字元都是用unicode編碼的,每一個字元占兩個位元組

⑶ Java 中,數字,漢字,英文字母,...佔多少位元組

數字,英文字母,標點符號各佔1個位元組
漢字,標點符號各站2個位元組

⑷ java中定義一漢字的變數並輸出長度

charlength等於0,system.out.println(length)。
java有八種數據類型,用來添加漢字的數據類型屬於字元型,用char表示,然後根據賦值使用列印語句輸出漢字的長度。
char是Java中的保留字,與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode,不過8位的ASCII碼包含在Unicode中,是從0~127。

⑸ java 按位元組獲取字元串長度

由於Java是基於Unicode編碼的,因此,一個漢字的長度為1,而不是2。但有時需要以位元組單位獲得字元串的長度。例如,「123abc長城」按位元組長度計算是10,而按Unicode計算長度是8。為了獲得10,需要從頭掃描根據字元的Ascii來獲得具體的長度。如果是標準的字元,Ascii的范圍是0至255,
如果是漢字或其他全形字元,Ascii會大於255。

⑹ java中一個漢字 位元組

你這個問題涉及到漢字的生成原理,漢字是由區碼和位碼組成的,在組成一個漢字之後,把這兩個位元組認為是一個字元,而在計算長度的時候又是看有幾個字元,所以「國人」的length=2了。
您的進步是我最大的動力,如果你覺得我回答的合理的話,請給我多加分。謝謝,如果不明白的話,請給我留言。大家相互學習啊! 加油!

⑺ 如何計算中文字元的長度java

通過String自帶的length()方法獲取字元串長度。

String a="abcdefg";//定義一個字元串
int len = a.length();//通過length獲取字元串長度,這里等於7
length()該方法返回此字元串的長度。長度是等於Unicode代碼單元中的字元串的數目。

⑻ java一個漢字占幾個位元組

可能是2個、3個、4個位元組。不同的編碼格式佔位元組數是不同的,UTF-8編碼下一個中文所佔位元組也是不確定的。

⑼ java中一個字元是幾個位元組字元和位元組是同等的嗎

Java規定了字元的內碼要用UTF-16編碼,一個字元是2個位元組。外碼字元所佔位元組取決於具體編碼。字元和位元組是不一樣的。

外碼編碼不同,字元和位元組的換算不同,幾種常見的編碼換算如下:

ASCII編碼是單位元組編碼,只有英文字元,不能編碼漢字。

GBK編碼1個英文字元是1個位元組,一個漢字是是2個位元組。

UTF-8編碼1個英文字元是1個位元組,一個漢字是3個位元組。

Unicode編碼1個英文字元是2個位元組,一個漢字是2個位元組。

(9)java漢字的長度擴展閱讀

漢字編碼的困難點 漢字進入計算機,有許多困難,其原因主要有三點:

①數量龐大:一般認為,漢字總數已超過6萬個(包括簡化字)。雖有研究者主張規定3000多或4000字作為當代通用漢字,但仍比處理由二三十個字母組成的拼音文字要困難得多。

②字形復雜:有古體今體,繁體簡體,正體異體;而且筆畫相差懸殊,少的一筆,多的達36筆,簡化後平均為9.8筆。

③存在大量一音多字和一字多音的現象:漢語音節416個,分聲調後為1295個(根據《現代漢語詞典》統計,輕聲39個未計)。以1萬個漢字計算,每個不帶調的音節平均超過24個漢字,每個帶調音節平均超過7.7個漢字。有的同音同調字多達66個。一字多音現象也很普遍。

閱讀全文

與java漢字的長度相關的資料

熱點內容
戰地聯盟3解壓密碼 瀏覽:803
s型命令 瀏覽:23
php年薪5年 瀏覽:67
如何上網上設個人加密賬戶 瀏覽:44
linux打開ssh服務 瀏覽:78
微信位置可以加密嗎 瀏覽:470
演算法蠻力法 瀏覽:438
隨機排練命令 瀏覽:147
python多進程並發 瀏覽:41
安卓軟體安裝如何躲避安全檢測 瀏覽:647
奇幻潮翡翠台源碼百度雲盤 瀏覽:187
什麼軟體可以免費pdf轉word 瀏覽:15
php正則表達式大全 瀏覽:394
androidntp時間 瀏覽:299
輪機長命令簿英文 瀏覽:148
oppo鈴聲設置被加密怎麼處理 瀏覽:548
粵苗app圖形驗證碼怎麼填 瀏覽:899
管家婆架設雲伺服器 瀏覽:254
php的登錄界面代碼 瀏覽:997
php開發客戶端 瀏覽:998