`

汉字的字节长度

阅读更多

转自: http://longtangwan.iteye.com/blog/619700

 

依据编码形式:
GB-231280 编码为 2个字节(Byte) 包含了 20902 个汉字,其编码范围是 0x8140-0xfefe。
GB18030-2000(GBK2K) 在 GBK 的基础上进一步扩展了汉字,增加了藏、蒙等少数民族的字形。编码是变长的,其二字节部分与 GBK 兼容;四字节部分是扩充的字形、字位,其编码范围是首字节 0x81-0xfe、二字节0x30-0x39、三字节 0x81-0xfe、四字节0x30-0x39
Unicode 范围一般所用为\U0000-\UFFFF,对于CJK EXT B区汉字,范围大于\U20000
UTF, 按其基本长度所用位数分为UTF-8/16/32。其中:
UTF-8是变长编码,每个Unicode代码点按照不同范围,可以有1-3字节的不同长度,一般为3个字节。

UTF-16长度相对固定,只要不处理大于\U200000范围的字符,每个Unicode代码点使用16位即2字节表示,超出部分使用两个UTF-16即4字节表示。按照高低位字节顺序,又分为UTF-16BE/UTF-16LE。

UTF-32长度始终固定,每个Unicode代码点使用32位即4字节表示。按照高低位字节顺序,又分为UTF-32BE/UTF-32LE。


* 在hibernate中length=?的长度跟oracle varchar2(?)定义的长度相同,都表示?字节,但是必须在jsp页面中控制字符的长度,因为输入框检查一个中文算一个字符长度,但如果存到数据库中一个中文就是2~3个字节,因此必须控制中文字符的总数使之转换成字节时不超过数据库的最大长度。

*因此在数据库中定义varchar2(4000),则在界面最多只能存1333个中文(编码为utf-8),因为此编码下一个中文就是3个字节。

分享到:
评论

相关推荐

    获取中文字符串长度的函数(VB6.0代码编写)

    如果字节对的高位置1(表明它们可能是双字节字符),我们就认为找到了一个中文字符,并增加计数器。需要注意的是,这种方法可能无法处理所有Unicode字符,因为它假设了每个中文字符都是由连续的两个高位字节表示的。...

    字符串(汉字)长度判断

    针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...

    JS获取带中文字符的字符串长度

    一个JS函数,可以获取你当前输入的字符串的长度,其中中文字符和全角字符是2个长度

    javascript的到字符串字节长度

    对于非ASCII字符,比如中文、日文、韩文等,它们在UTF-8编码下会占用多个字节。 为了获取一个JavaScript字符串的字节长度,我们可以遍历字符串中的每个字符,然后计算其在特定编码(如UTF-8)下所占的字节数。以下...

    C#字符串截取固定长度的方法

    - **考虑多字节编码**:适用于包含多字节字符(如中文)的字符串。 - **利用正则表达式**:适用于需要进行更复杂条件判断的截取需求。 在实际开发过程中,应根据具体需求选择合适的方法。如果处理的是国际化文本,...

    java判断中文字符串长度的简单实例

    3. 第三个方法`getLength(Strings)`尝试通过给中文字符长度为1,英文字符长度为0.5的处理方式来计算字符串长度。这里的处理思路是试图在长度计算上进行加权平均,使得计算结果能更好地反映字符串的视觉长度。但作者...

    字符、中文字符、数字、小数 长度限制JQuery插件

    $("input").inputlimit(options... gbk: true //中文字符是否占用2长度 }, numeric: { //数字/小数设置 allowdec: 0, //小数位,-1:无小数,0:不限制小数位,>0:具体位数 negative: 0 //允许负数 1:允许,0:不允许 } }

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串)

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串) 可用于验证字符串长度。效率比较高。

    获取中文字符串长度的函数

    由于中文字符通常占用两个字节,而英文字符只占用一个字节,因此简单的基于字节计数的方法无法准确地计算中文字符串的长度。标题提到的“获取中文字符串长度的函数”就是为了解决这个问题。在VB6.0(Visual Basic ...

    javascript 判断中文字符长度的函数代码

    JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文、全角符号以及英文最小长度单位都是1,这与php的strlen()并不相同。 代码如下: function strlen(str) { var s = 0; for(var...

    字符数统计 中文英文字符分开统计delphi

    在Delphi编程环境中,开发一个能够分别统计中文和英文字符数的程序是一项常见的任务,尤其在文本处理或数据分析的应用中。下面将详细讲解如何利用Delphi实现这一功能,并结合提供的文件列表来理解程序结构。 首先,...

    pb中实现字符长度和计算器的实现

    在这个场景中,“pb中实现字符长度和计算器的实现”意味着我们要探讨如何在PowerBuilder环境中创建两个功能:一是计算字符串的长度,二是实现一个基本的计算器。 在PowerBuilder中,字符串长度的计算可以通过内置...

    如何求中英文混杂字符串的字节长度.pdf

    在讨论中英文混杂字符串字节长度时,我们需要了解中文字串占用的字节数量。在Unicode编码中,一个中文字串占用2个字节,而ASCII字符占用1个字节。因此,在计算中英文混杂字符串的字节长度时,我们需要区分中文字串和...

    超实用c#按字节截取长度(原创)

    这种方法特别适用于处理中文等双字节字符与英文等单字节字符混合的情况。 ### 一、问题背景 在实际开发中,经常会遇到需要按照字节长度截取字符串的需求,特别是在网络传输或存储限制的场景下。然而,简单的使用`...

    超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)

    正常情况下,我们是直接去string的length的,但是汉字是有两个字节的,所以直接用length是错的。如下图: 所以应该用以下代码来获取长度: private void button1_Click(object sender, EventArgs e) { string s ...

    获取中文字符串长度的函数(VB6.0代码编写)源代码

    在VB6.0编程环境中,处理中文字符串时经常会遇到一个问题:由于中文字符占用两个字节,而VB6的内置函数Len只计算字节数,不考虑字符编码,因此无法准确获取中文字符串的实际长度(即字符数)。为了解决这个问题,...

    截取指定长度的字符串

    "截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...

    验证字符长度

    这里使用了一个正则表达式 `[^\x00-\xff]` 来匹配非 ASCII 字符(即中文或其他双字节字符)。对于每个匹配到的字符,将被替换为两个星号 `"**"`,这样就可以通过 `.length` 属性来正确计算包含中文字符的字符串长度...

    判断字符串的长度(优化版)中文占两个字符

    在传统的编程实践中,尤其是在使用JavaScript这样的编程语言时,一个简单的字符串长度函数,如length属性,可能无法准确反映中文字符所占的字符长度。例如,在JavaScript中,英文字符和一些标点符号默认占用1个字符...

Global site tag (gtag.js) - Google Analytics