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编码和十六进制字符转换是一项常见的任务,特别是在处理文本数据...同时,开发者应该注意,不同的编码格式在内存占用、效率和兼容性方面都有所不同,应根据实际需求选择合适的编码方式。
1. **字符编码的影响**:中文字符在不同的编码方式下占用的字节数不同。例如,在UTF-8编码中,中文字符通常占用3个字节,而在GBK编码中,则可能占用2或4个字节。因此,在计算字符串长度时,必须考虑到实际的编码方式...
需要注意的是,不同编码方式(如GBK、Big5等)下的汉字可能占用不同数量的字节,因此在实际应用中,需要根据字符串的实际编码方式进行调整。如果你的字符串是其他编码格式,你需要将`getBytes(StandardCharsets.UTF_...
中文字符在Java中所占用的字节数并不固定,它取决于所采用的字符编码方式。这是因为不同的编码标准有不同的字符表示机制,从而导致了字节数的不同。 首先,ISO8859-1是一种西欧字符编码,它只支持拉丁字母,不包含...
总结来说,Java截取中英文混合字符串的方法需要综合考虑编码方式和汉字占用字节长度的问题,并且需要采取适当的技术手段来确保汉字不会被截断。通过自定义截取方法,并在截取过程中正确地使用编码方式,我们可以有效...
在Java中,可以通过`String`类和`byte[]`数组的转换方法来进行不同字符编码之间的转换: - **从`String`到`byte[]`**: - `public byte[] getBytes(String charsetName) throws UnsupportedEncodingException` - ...
GBK同样采用了双字节编码方式,但在高字节大于127的情况下,低字节可以小于127,这意味着GBK比GB2312更加灵活。 ##### 3. Unicode 为了解决不同DBCS之间的不兼容问题,国际标准化组织制定了Unicode编码标准。...
本文旨在深入探讨Java中的编码格式,帮助开发者更好地理解和解决在开发过程中遇到的编码问题。 #### 二、编码的基本概念 首先我们需要了解为什么需要编码。简单来说,计算机只能识别数字,为了能够让计算机正确地...
在Java中,`String`类提供了多种截取方法,如`substring()`,但它默认是基于字符而非字节进行截取的。当涉及到字节时,我们需要考虑到字符编码,因为不同的字符编码(如ASCII、UTF-8、GBK等)中一个字符可能对应不同...
本篇将深入探讨如何在不同编码环境下统计字符串的字节数,并提供相关的编程实践。 首先,我们要了解字符编码。常见的字符编码有ASCII、UTF-8、GBK等。ASCII编码只包含英文字符,每个字符占1个字节。而UTF-8是一种变...
在Java中,字符(Character)是基于Unicode的,而不同的字符集(CharacterSet)定义了如何将字符编码成字节序列。这些字符集包括ISO标准(如ISO-8859系列,用于表示拉丁语系和其他欧洲语言的字符),以及特定于语言...
- 在Java中,文本通常指由`char`类型构成的数据。 - 文件则是字节序列(`byte[]`)的集合。 - 文本文件是将文本(`char`序列)按照某种编码方案(如UTF-8、UTF-16BE、GBK等)转换为字节序列后进行存储的结果。 ### ...
由于中文字符占用的存储空间通常比英文字符大(通常一个英文字符占1个字节,而一个中文字符占3或4个字节),所以在计算字符串长度时需要考虑到这一点。例如,在某些应用场景下,可能需要将中文字符按两个英文字符来...
在中英文操作系统下,字符的编码方式可能不同,导致相同的字符在不同系统中占用的字节数量不一致。例如,一个汉字在UTF-8编码下通常占用3个字节,而在GBK编码下则占用2个字节。因此,当在Java程序中处理包含中英文...
- **中文字符处理**:由于中文字符在UTF-8编码下通常占用三个字节,但这里为了简化问题,将其视为两个字节进行处理。这种方法虽然不是完全精确,但在大多数情况下能够满足需求。 - **英文字符处理**:英文字符被视为...
这个压缩包内包含的可能是Java代码示例(如csdn-demo),用于批量处理字符串,统计其中的中英文标点符号的数量,并根据指定的字符编码(GBK或UTF)来计算字符串的总长度。如果字符串的总长度超过预设的最大长度,...
- 基本数据类型:Java中定义了八种基本数据类型,分为数值型、字符型和布尔型。 - byte:有符号的8位整型。 - short:有符号的16位整型。 - int:有符号的32位整型。 - long:有符号的64位整型。 - float:单...
2. **UTF-16编码**:通过`name.getBytes("UTF-16")`获取到的byte数组长度为4,这是因为UTF-16使用了字节顺序标记(BOM),并且“你”这个汉字在UTF-16编码下占用了2个字节。 3. **UTF-16BE编码**:通过`name....
- **UTF-8**:最常用的Unicode编码方式,它是一种变长编码,可以表示Unicode中的所有字符,且对英文字符占用较少的存储空间。 2. **源代码编码** - **源代码文件编码**:Java源代码文件的编码通常是UTF-8,但不...
1. **确定源文件的编码**: 在 Java 程序中处理文件时,明确指定文件的编码方式。 2. **设置系统默认编码**: 在 Java 应用程序启动时,可以通过 `-Dfile.encoding=UTF-8` 参数来设置系统默认编码为 UTF-8。 3. **统一...