導航:首頁 > 編程語言 > java一個漢字幾個位元組

java一個漢字幾個位元組

發布時間:2023-02-08 11:24:46

java中文字元所佔的位元組數是多少

採用GB2312或GBK編碼方式時,一個中文字元佔2個位元組;而採用UTF-8編碼方式時,一個中文字元會佔3個位元組。

Ⅱ 在JAVA中,中文和字母占幾位元組

你的定義不對,其實你分析的是沒有錯的,只是在定義變數的時候錯了,char='A' --->> 不對,應該是:char a ='A'
char='陳' --->> 不對,應該是:char a ='陳'

因為在JAVA中,一個char是2個位元組(byte),而一個中文漢字是一個字元,也是2個位元組。而英文字母都是一個位元組的,因此它也能保存到一個byte里,一個中文漢字卻不能。

Ⅲ JAVA基本數據類型所佔位元組數是多少

32位系統

byte1位元組

short2位元組

int4位元組

long8位元組

char2位元組(C語言中是1位元組)可以存儲一個漢字

float4位元組

double8位元組

booleanfalse/true(理論上佔用1bit,1/8位元組,實際處理按1byte處理)

JAVA是採用Unicode編碼。每一個位元組佔8位。你電腦系統應該是32位系統,這樣每個int就是4個位元組

其中一個位元組由8個二進制位組成

Java一共有8種基本數據類型(原始數據類型):

類型存儲要求范圍(包含)默認值包裝類

整數類型

int4位元組(32位)-231~231-10Integer

short2位元組(16位)-215~215-10Short

long8位元組(64位)-263~263-10Long

byte1位元組(8位)-27~27-10Byte

浮點類型

float4位元組(32位)-3.4e+38~3.4e+380.0fFloat

double8位元組(64位)-1.7e+308~1.7e+3080Double

字元型

char2位元組(16位)u0000~uFFFF(『』~『?』)『0』Character

(0~216-1(65535))

布爾型

boolean1/8位元組(1位)true,falseFALSEBoolean

(3)java一個漢字幾個位元組擴展閱讀:

8種基本數據類型

在Java中一共有8種基本數據類型,其中有4種整型,2種浮點類型,1種用於表示Unicode編碼的字元單元的字元類型和1種用於表示真值的boolean類型。(一個位元組等於8個bit)

Java中有八種基本數據類型,分別為:byte、short、int、long、float、double、char、boolean。

這八種基本類型都有對應的包裝類,分別為:Byte、Short、Integer、Long、Float、Double、Character、Boolean。

在Java中整型、實型、字元型被視為簡單數據類型,這些類型由低級到高級分別為:(byte,short,char)--int--long--float--double

注意,整數比浮點數低級。低級到高級可以自動轉換。而高級到低級需要用代碼強制轉換,不強轉會編譯錯誤。

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

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

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

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

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

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

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

(4)java一個漢字幾個位元組擴展閱讀

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

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

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

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

Ⅳ java中如何計算一個字元串的byte長度(一個漢字多少字元)

中文並不一定是占兩個位元組的,具體佔多少位元組是跟具體的編碼方式相關的。
比如說:GB2312、GBK、GB18030
編碼是佔用兩個位元組的,但是
UTF-8
編碼的話至少需要佔用三個位元組。
有一個簡單方法,就是把大於
0xff
的字元都作為兩個字元(當然是在
GBK
環境下)
Java
code
publicstaticint
count(String
str)
{
if(str
==null||
str.length
==0)
{
return0;
}
int
count
=0;
char[]
chs
=
str.toCharArray();
for(int
i
=0;
i
<
chs.length;
i++)
{
count
+=
(chs[i]
>0xff)
?2
:
1;
}
return
count;
}
或者你直接使用
int
len
=
str.getBytes("gbk");上面代碼假設你的資料庫編碼格式是
GBK
的,而不是
UTF-8
的,如果是
UTF-8
的話,上面的代碼無效!1位元組等於8比特,一個字母是1位元組,而一個漢字要用2個位元組。一個漢字=2個字元

閱讀全文

與java一個漢字幾個位元組相關的資料

熱點內容
ug如何啟動伺服器 瀏覽:444
csgo防抖動命令 瀏覽:960
如何弄到手機app頁面的源碼 瀏覽:441
androidwindows7破解版 瀏覽:363
解壓視頻動畫怎麼拍 瀏覽:748
連漲啟動源碼 瀏覽:163
小奔運動app網路異常怎麼回事 瀏覽:449
php開啟壓縮 瀏覽:305
伺服器主機如何設置啟動 瀏覽:284
linux配置網路命令 瀏覽:776
一張照片怎麼製作視頻app 瀏覽:910
pythonweb和php 瀏覽:978
電腦伺服器地址ip地址 瀏覽:823
對矩陣壓縮是為了 瀏覽:913
setfacl命令 瀏覽:175
linux子系統中斷 瀏覽:344
linux查看進程ps 瀏覽:228
知識庫系統php 瀏覽:626
小波變換壓縮圖像python 瀏覽:154
阿里巴巴程序員怎麼月入百萬 瀏覽:175