众所周知,UTF-8是变长编码,一个字符占1-4字节都有可能,
这给我们数据入库时的长度校验带来了不少麻烦,因为数据库中声明的
Varchar2(1000)
并不代表能够存放1000个字符,而是只能存放1000个字节。
其实,这个问题可以通过String.getBytes来解决,
如下代码:
String str="中文123";
System.out.println(str.length());
try {
System.out.println(str.getBytes("utf-8").length);//中、文 各占三字节,123各占1字节
System.out.println(str.getBytes("GBK").length);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
输出结果为
5
9
7
只要在Java中强制指定”utf-8”编码获取字符串的字节数组,就可以得到该字符串在UTF-8下的字节长度。
请参考。
分享到:
相关推荐
首先,UTF-8(Unicode Transformation Format - 8 bit)是一种变长的Unicode编码,它使用1到4个字节来表示一个字符。UTF-8的优势在于对ASCII字符集的兼容性,前128个Unicode字符(包括英文、数字和常见符号)只需要...
UTF-8是UNICODE的一种变长字符编码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。 如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE...
UTF-8,即“统一字符集的8位无符号格式”,是一种变长编码,可以表示Unicode字符集中所有的字符。对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。UTF-8的最大...
3. UTF-8:一种变长的Unicode编码,用1到4个字节表示一个字符。对于ASCII字符,UTF-8编码与ASCII相同,都是单字节。UTF-8的特殊之处在于它包含一个字节顺序标记(BOM),即UTF-8+BOM,但大多数情况下,UTF-8无BOM更...
UTF-8(Unicode Transformation Format - 8 bits)是一种变长字符编码,由Ken Thompson于1992年设计,旨在解决多语言环境下字符编码兼容性问题。其核心优势在于能够以不同的字节长度来表示不同数量的Unicode字符,...
- 变长编码机制使得常见字符占用的空间较少。 - **应用场景**:广泛应用于Web页面、电子邮件和其他网络应用中。 #### 四、Unicode - **定义**:Unicode是一种统一的字符编码标准,目标是覆盖世界上所有的字符和...
1. **UTF-8**:全称为“Unicode Transformation Format - 8”,是一种变长的字符编码,可以表示Unicode字符集中的所有字符。UTF-8最显著的特点是它对英文字符使用单字节,而对其他语言(如中文、日文等)使用多字节...
UTF-8是一种变长的字符编码,它使用1到4个字节来表示一个Unicode字符,其中ASCII字符(0-127)只需要1个字节。UTF-16则通常使用2个字节,对于大部分的Unicode字符,但对超出基本多文种平面(BMP)的字符,如表情符号...
UTF-8是一种变长的Unicode编码方式,它可以表示Unicode字符集中所有的字符,包括中文。UTF-8的特点是英文字符用单字节表示,而大多数非英文字符,如中文,使用2至4个字节。这样设计使得UTF-8在处理英文为主的文本时...
其中,UTF-8(8位通用转换格式)是一种可变长度的字符编码,它兼容ASCII,并且能够表示Unicode标准中的所有字符。在给定文件“UTF-8汉字码表.txt”的描述中提到的“utf-8中文汉字编码表”,主要关注的是如何用UTF-8...
UTF-8是Unicode的一种实现方式,它是变长编码,每个字符可以由1到4个字节表示。对于ASCII字符,UTF-8编码和ASCII编码相同,都是单字节,这使得UTF-8在处理英文文本时效率较高。 2. **SWT(Standard Widget Toolkit...
UTF-8(Unicode Transformation Format - 8 bit)是一种广泛使用的变长字符编码,它能够表示Unicode字符集中的所有字符。UTF-8的特点是前几个常用的ASCII字符(如英文字符)使用单字节编码,而其他非ASCII字符则使用...
UTF-8是变长编码,它可以表示Unicode字符集中的所有字符,对于英文字符,UTF-8编码与ASCII编码相同,但对于中文和其他非英文字符,UTF-8会使用多个字节。 2. **`IsTextUTF8`函数的使用**:调用`IsTextUTF8`函数时,...
UTF-8是一种可变长度的Unicode编码,它能表示Unicode字符集中所有的字符,包括各种语言的字母、数字以及特殊符号。UTF-8的一个显著特点是兼容ASCII编码,对于ASCII字符,UTF-8编码与ASCII编码完全相同,仅用一个字节...
UTF-8编码是一种广泛使用的字符编码标准,它在信息技术领域起着至关重要的作用。这个“UTF-8编码转换器”工具旨在帮助用户方便地将文本数据从其他编码格式转换为UTF-8,确保数据在不同系统和平台之间的兼容性。 在...
汉字字符编码是计算机处理汉字时的关键技术,涉及到不同的编码标准,如UTF-8、Unicode和GB2312。这些编码方式各有特点,各有应用场景,理解它们有助于在处理中文字符时避免乱码问题。 首先,让我们来详细了解这些...
UTF-8是一种变长的Unicode转换格式,它将UNICODE码点转换为可变长度的字节序列。UTF-8的优势在于其对ASCII字符的兼容性:英文和其他使用ASCII字符的语言,如大部分编程语言,只需要1个字节表示,这使得UTF-8在互联网...
UTF-8(Unicode Transformation Format - 8 bit)是一种基于Unicode的变长字符编码,它可以表示Unicode标准中的所有字符。UTF-8的特点是使用1到4个字节表示一个字符,对于ASCII字符(如英文字符)只用1个字节,而...
3. **UTF-8编码**:UTF-8是一种变长的Unicode编码方式,它可以表示Unicode字符集中所有的字符。UTF-8的优点在于对英文字符使用单字节,对于中文等非ASCII字符则使用多个字节,这使得它在互联网上得到了广泛应用,...
UTF-8(Unicode Transformation Format - 8)是一种变长的Unicode编码,可以表示几乎世界上所有语言的字符。它是目前网络上最常用的字符编码,因为它既能兼容ASCII码,又能表示各种语言的特殊字符,包括中文。 在...