java字符串字节
⑴ 请问java中字符串中英文占几个字节
java里
的char是占2个字节的
也就是一个说
英文和数字也都是占2个字节的
还有编码是统一的
不可能想你说的
英文与数字字符属于ASCII编码,
故占用一个字节,
中文字符属于GBK编码,占两个字节
如果用ascii来解码
那整个文件都是按照ascii来解码的~
说到编码的话
其实现在utf-8用的最多
⑵ (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);
}
⑶ Java中一个字符到底多少个字节
字符 不等于 字节。
字符(char)是 Java 中的一种基本数据类型,由 2 个字节组成,范围从 0 开始,到 2^16-1。
字节是一种数据量的单位,一个字节等于 8 位。所有的数据所占空间都可以用字节数来衡量。例如一个字符占 2 个字节,一个 int 占 4 个字节,一个 double 占 8 个字节 等等。
⑷ java中String占几个字节
Java中无论是汉字还是英文字母都是用Unicode编码来表示的,一个Unicode码是16位,每字节是8位,所以一个Unicode码占两字节。但是英文字母比较特殊,源自于8位(1字节)的ASCII吗,于是在Unicode码仅使用了低8位(1字节)就可以表示,高8位的话不使用也无所谓。所以
char
c='a';
System.out.println(c.getBytes().lenth()),得到的是1(字节)
但汉字就完整地使用了16位(2字节)的Unicode,所以
char
c='中';
System.out.println(c.getBytes().lenth()),得到的是2(字节)
综上,c='a'在内存中确实只占1字节,但这不意味着String
s="abc"在内存中只占3字节。应该这么说,String
s="abc"至少在内存中占3字节。这是因为char是基本数据类型,而String确是对象类型。
⑸ java中一个字符是几个字节字符和字节是同等的吗
Java规定了字符的内码要用UTF-16编码,一个字符是2个字节。外码字符所占字节取决于具体编码。字符和字节是不一样的。
外码编码不同,字符和字节的换算不同,几种常见的编码换算如下:
ASCII编码是单字节编码,只有英文字符,不能编码汉字。
GBK编码1个英文字符是1个字节,一个汉字是是2个字节。
UTF-8编码1个英文字符是1个字节,一个汉字是3个字节。
Unicode编码1个英文字符是2个字节,一个汉字是2个字节。
(5)java字符串字节扩展阅读:
汉字编码的困难点 汉字进入计算机,有许多困难,其原因主要有三点:
①数量庞大:一般认为,汉字总数已超过6万个(包括简化字)。虽有研究者主张规定3000多或4000字作为当代通用汉字,但仍比处理由二三十个字母组成的拼音文字要困难得多。
②字形复杂:有古体今体,繁体简体,正体异体;而且笔画相差悬殊,少的一笔,多的达36笔,简化后平均为9.8笔。
③存在大量一音多字和一字多音的现象:汉语音节416个,分声调后为1295个(根据《现代汉语词典》统计,轻声39个未计)。以1万个汉字计算,每个不带调的音节平均超过24个汉字,每个带调音节平均超过7.7个汉字。有的同音同调字多达66个。一字多音现象也很普遍。
⑹ Java 字符串转化为字节
string型转byte 要怎么转 有两种方式
getBytes()
使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。返回byte[]
getBytes(String charsetName)
使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。返回
byte[]
你那样写是可以的 不过 你需要保证你的机器8001这个端口开放才能正常运行 我给你写了一个测试类
public class T {
public static void main(String[] args) throws IOException
{
Socket s = new Socket(InetAddress.getByName("127.0.0.1"),80);
System.out.println(s);
}
}
⑺ Java中文字符所占的字节数是多少
采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。
⑻ java中的字符串占多少字节
java里
的char是占2个字节的
也就是一个说
英文和数字也都是占2个字节的
中文字符属于GBK编码,占两个字节