`
lvailing
  • 浏览: 9645 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java_中英文在不同编码下所占用的字节数(转)

阅读更多
Java代码
import java.io.UnsupportedEncodingException;
public class EncodeTest {
/**
* 打印字符串在指定编码下的字节数和编码名称到控制台
*
* @param s
* 字符串
* @param encodingName
* 编码格式
*/
public static void printByteLength(String s, String encodingName) {
System.out.print(“字节数:”);
try {
System.out.print(s.getBytes(encodingName).length);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(“;编码:” + encodingName);
}
public static void main(String[] args) {
String en = “A”;
String ch = “人”;
// 计算一个英文字母在各种编码下的字节数
System.out.println(“英文字母:” + en);
EncodeTest.printByteLength(en, “GB2312″);
EncodeTest.printByteLength(en, “GBK”);
EncodeTest.printByteLength(en, “GB18030″);
EncodeTest.printByteLength(en, “ISO-8859-1″);
EncodeTest.printByteLength(en, “UTF-8″);
EncodeTest.printByteLength(en, “UTF-16″);
EncodeTest.printByteLength(en, “UTF-16BE”);
EncodeTest.printByteLength(en, “UTF-16LE”);
System.out.println();
// 计算一个中文汉字在各种编码下的字节数
System.out.println(“中文汉字:” + ch);
EncodeTest.printByteLength(ch, “GB2312″);
EncodeTest.printByteLength(ch, “GBK”);
EncodeTest.printByteLength(ch, “GB18030″);
EncodeTest.printByteLength(ch, “ISO-8859-1″);
EncodeTest.printByteLength(ch, “UTF-8″);
EncodeTest.printByteLength(ch, “UTF-16″);
EncodeTest.printByteLength(ch, “UTF-16BE”);
EncodeTest.printByteLength(ch, “UTF-16LE”);
}
}

运行结果如下:
1. 英文字母:A
2. 字节数:1;编码:GB2312
3. 字节数:1;编码:GBK
4. 字节数:1;编码:GB18030
5. 字节数:1;编码:ISO-8859-1
6. 字节数:1;编码:UTF-8
7. 字节数:4;编码:UTF-16
8. 字节数:2;编码:UTF-16BE
9. 字节数:2;编码:UTF-16LE
10.
11. 中文汉字:人
12. 字节数:2;编码:GB2312
13. 字节数:2;编码:GBK
14. 字节数:2;编码:GB18030
15. 字节数:1;编码:ISO-8859-1
16. 字节数:3;编码:UTF-8
17. 字节数:4;编码:UTF-16
18. 字节数:2;编码:UTF-16BE
19. 字节数:2;编码:UTF-16LE
UTF-16BE和UTF-16LE是UNICODE编码家族的两个成员。UNICODE标准定义了UTF-8、UTF-16、UTF-32三种编码格式,共有UTF-8、UTF-16、UTF-16BE、UTF-16LE、UTF-32、UTF-32BE、UTF-32LE七种编码方案。
JAVA所采用的编码方案是UTF-16BE。
  • 大小: 40.6 KB
分享到:
评论

相关推荐

    java实现十六进制字符unicode与中英文转换示例

    在Java编程语言中,处理Unicode编码和十六进制字符转换是一项常见的任务,特别是在处理文本数据...同时,开发者应该注意,不同的编码格式在内存占用、效率和兼容性方面都有所不同,应根据实际需求选择合适的编码方式。

    java中英文字符串截取

    1. **字符编码的影响**:中文字符在不同的编码方式下占用的字节数不同。例如,在UTF-8编码中,中文字符通常占用3个字节,而在GBK编码中,则可能占用2或4个字节。因此,在计算字符串长度时,必须考虑到实际的编码方式...

    关于java按字节截取带有汉字的字符串的解法

    需要注意的是,不同编码方式(如GBK、Big5等)下的汉字可能占用不同数量的字节,因此在实际应用中,需要根据字符串的实际编码方式进行调整。如果你的字符串是其他编码格式,你需要将`getBytes(StandardCharsets.UTF_...

    Java中文字符所占的字节数

    中文字符在Java中所占用的字节数并不固定,它取决于所采用的字符编码方式。这是因为不同的编码标准有不同的字符表示机制,从而导致了字节数的不同。 首先,ISO8859-1是一种西欧字符编码,它只支持拉丁字母,不包含...

    关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    在Java中,可以通过`String`类和`byte[]`数组的转换方法来进行不同字符编码之间的转换: - **从`String`到`byte[]`**: - `public byte[] getBytes(String charsetName) throws UnsupportedEncodingException` - ...

    Java字符集和编码

    GBK同样采用了双字节编码方式,但在高字节大于127的情况下,低字节可以小于127,这意味着GBK比GB2312更加灵活。 ##### 3. Unicode 为了解决不同DBCS之间的不兼容问题,国际标准化组织制定了Unicode编码标准。...

    JAVA程序的编码格式详解

    本文旨在深入探讨Java中的编码格式,帮助开发者更好地理解和解决在开发过程中遇到的编码问题。 #### 二、编码的基本概念 首先我们需要了解为什么需要编码。简单来说,计算机只能识别数字,为了能够让计算机正确地...

    Java截取中英文混合字符串的方法

    Java截取中英文混合字符串的方法 Java截取中英文混合字符串的方法是指在Java语言中截取混合了...Java截取中英文混合字符串的方法需要考虑到编码方式和汉字占用字节长度的问题,并使用特殊的方法来保证汉字不被截半个。

    根据字节数截取字符串

    在Java中,`String`类提供了多种截取方法,如`substring()`,但它默认是基于字符而非字节进行截取的。当涉及到字节时,我们需要考虑到字符编码,因为不同的字符编码(如ASCII、UTF-8、GBK等)中一个字符可能对应不同...

    统计字符串字节数统计字符串字节数

    本篇将深入探讨如何在不同编码环境下统计字符串的字节数,并提供相关的编程实践。 首先,我们要了解字符编码。常见的字符编码有ASCII、UTF-8、GBK等。ASCII编码只包含英文字符,每个字符占1个字节。而UTF-8是一种变...

    Java中编码总结.pdf

    在Java中,字符(Character)是基于Unicode的,而不同的字符集(CharacterSet)定义了如何将字符编码成字节序列。这些字符集包括ISO标准(如ISO-8859系列,用于表示拉丁语系和其他欧洲语言的字符),以及特定于语言...

    java_javasecore1_day05

    - 在Java中,文本通常指由`char`类型构成的数据。 - 文件则是字节序列(`byte[]`)的集合。 - 文本文件是将文本(`char`序列)按照某种编码方案(如UTF-8、UTF-16BE、GBK等)转换为字节序列后进行存储的结果。 ### ...

    js java 判断中文,英文的混合长度

    由于中文字符占用的存储空间通常比英文字符大(通常一个英文字符占1个字节,而一个中文字符占3或4个字节),所以在计算字符串长度时需要考虑到这一点。例如,在某些应用场景下,可能需要将中文字符按两个英文字符来...

    [待删除]字符串截取 - 中英文

    在中英文操作系统下,字符的编码方式可能不同,导致相同的字符在不同系统中占用的字节数量不一致。例如,一个汉字在UTF-8编码下通常占用3个字节,而在GBK编码下则占用2个字节。因此,当在Java程序中处理包含中英文...

    java字符串处理-中英文-非常有用的

    - **中文字符处理**:由于中文字符在UTF-8编码下通常占用三个字节,但这里为了简化问题,将其视为两个字节进行处理。这种方法虽然不是完全精确,但在大多数情况下能够满足需求。 - **英文字符处理**:英文字符被视为...

    统计字符串中英文标点数量并截取.zip

    这个压缩包内包含的可能是Java代码示例(如csdn-demo),用于批量处理字符串,统计其中的中英文标点符号的数量,并根据指定的字符编码(GBK或UTF)来计算字符串的总长度。如果字符串的总长度超过预设的最大长度,...

    java基础,进制转换.pdf

    - 基本数据类型:Java中定义了八种基本数据类型,分为数值型、字符型和布尔型。 - byte:有符号的8位整型。 - short:有符号的16位整型。 - int:有符号的32位整型。 - long:有符号的64位整型。 - float:单...

    java字符编码问题

    2. **UTF-16编码**:通过`name.getBytes("UTF-16")`获取到的byte数组长度为4,这是因为UTF-16使用了字节顺序标记(BOM),并且“你”这个汉字在UTF-16编码下占用了2个字节。 3. **UTF-16BE编码**:通过`name....

    java中的编码知识

    - **UTF-8**:最常用的Unicode编码方式,它是一种变长编码,可以表示Unicode中的所有字符,且对英文字符占用较少的存储空间。 2. **源代码编码** - **源代码文件编码**:Java源代码文件的编码通常是UTF-8,但不...

Global site tag (gtag.js) - Google Analytics