(java)如何获取字符串的字节数!

Python022

(java)如何获取字符串的字节数!,第1张

(java)如何获取字符串的字节数!, java怎样获取字符串的字节数

字符串是可以转变成字节数组,然后统计一下字节数组的长度即可,参考如下代码:

Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。

public static void main(String []args) throws UnsupportedEncodingException {

运行结果:2

System.out.println("测试".getBytes("ISO8859-1").length)

运行结果:4

System.out.println("测试".getBytes("GB2312").length)

运行结果:4

System.out.println("测试".getBytes("GBK").length)

运行结果:6

System.out.println("测试".getBytes("UTF-8").length)

}

c# 获取字符串的字节数

C#截取字符串字节数 代码如下:

public int bytelenght(string str)

{

byte[] bytestr = System.Text.Encoding.Unicode.GetBytes(str)

int j = 0

for (int i = 0i <bytestr.GetLength(0)i++)

{

if (i % 2 == 0)

{

j++

}

else

{

if (bytestr[i] >0)

{

j++

}

}

}

return j

}

谢谢采纳

c++ 怎样获取一串字符串的字符数,不是字节数

定义一个字符数组,然后根据字符长度循环得到字符

比如char ch[20]

这个20可以用字符实际长度getlength()获取

然后再循环获取字符

ch[i]

c#求字符串的字节数

其实用不着那么复杂计算的。注意:C#中string.Length只是计算字符串“字符”的个数,不计算字节;但是汉字两个字节+数字(英文字符)一个字节,才是6个,简单的代码如下: byte[] bytes = Encoding.Default.GetBytes("1243我")Default(根据自己究竟是汉字还是数字等,自动合理分配内存所需要的字节空间)

Console.WriteLine(bytes.Length)

C#如何获得存放字符串的字节数组?

byte[] System.Text.Encoding.Default.GetBytes(string s)

如何计算一个Unicode字符串的字节数

你就是一个byte一个byte读取的吧?一个汉字两个byte(不含surrogate情况),文件中存两个byte,你从文件中读取2个byte,就是这样 查看原帖>>

java下字符串和字节数组如何转换?

strRead = String.copyValueOf(strRead.toCharArray(), 0, byBuffer.length])2、字符串转换成字节数组 byte[] byBuffer = new byte[200]byBuffer= strInput.getBytes()注意:如果字符串里面含有中文,要特别注意,在android系统下,默认是UTF8编码,一个中文字符相当于3个字节,只有gb2312下一个中文相当于2字节。

32位系统

byte    1字节

short   2字节

int     4字节

long    8字节

char    2字节(C语言中是1字节)可以存储一个汉字

float   4字节

double  8字节

boolean false/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

扩展资料:

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个字节。

扩展资料

汉字编码的困难点 汉字进入计算机,有许多困难,其原因主要有三点:

①数量庞大:一般认为,汉字总数已超过6万个(包括简化字)。虽有研究者主张规定3000多或4000字作为当代通用汉字,但仍比处理由二三十个字母组成的拼音文字要困难得多。

②字形复杂:有古体今体,繁体简体,正体异体;而且笔画相差悬殊,少的一笔,多的达36笔,简化后平均为9.8笔。

③存在大量一音多字和一字多音的现象:汉语音节416个,分声调后为1295个(根据《现代汉语词典》统计,轻声39个未计)。以1万个汉字计算,每个不带调的音节平均超过24个汉字,每个带调音节平均超过7.7个汉字。有的同音同调字多达66个。一字多音现象也很普遍。

参考资料来源:百度百科-编码