社区
C#
帖子详情
怎么识别是一中文汉字还是两个字符呢?
gggjjj
2006-11-01 08:42:17
一个中文汉字在C中占两个字节,一个西文字符占一个字节,那么怎么识别16位的一个串是代表一个中文字符呢还是两个西文字符呢?
...全文
160
5
打赏
收藏
怎么识别是一中文汉字还是两个字符呢?
一个中文汉字在C中占两个字节,一个西文字符占一个字节,那么怎么识别16位的一个串是代表一个中文字符呢还是两个西文字符呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sanniko
2006-11-01
打赏
举报
回复
[DllImport("kernel32")]
private static extern int lstrlenA(string lpString);
Jorge-Merodio
2006-11-01
打赏
举报
回复
现在英文也是两个了
jxhwei
2006-11-01
打赏
举报
回复
Unicode的特点是:
不管哪一国的字符码均以两个Byte表示,例如"A"在Unicode则是16进制41和00的组合,即4100,高位41(转换为Ascii码即是65=A)
如果用的是Ascii码,自然不存在这个问题,如果是Unicode码,那么,如果后2位是00的,就是英文字符
gggjjj
2006-11-01
打赏
举报
回复
最后一句有些看不懂啊。
Knight94
2006-11-01
打赏
举报
回复
通过Encoding来判断,例如:
private int GetChsCharLength( string strValue )
{
if( strValue == null || strValue == "" ) return 0;
Encoding encGB = Encoding.GetEncoding( "gb2312" );
Encoding encUnicode = Encoding.Unicode;
return strValue.Length - ( encUnicode.GetByteCount( strValue ) - encGB.GetByteCount( strValue ) );
}
private int GetAniCharLength( string strValue )
{
if( strValue == null || strValue == "" ) return 0;
Encoding encGB = Encoding.GetEncoding( "gb2312" );
Encoding encUnicode = Encoding.Unicode;
return encUnicode.GetByteCount( strValue ) - encGB.GetByteCount( strValue );
}
相关推荐
mysql
中文
数据
字符
集问题
前言:计算机只
识别
二进制;人类更多是
识别
符号; 一、插入
中文
字符
失败 mysql客户端向服务器插入
中文
数据,没有成功, 原因:\xD5\xC5\xD4\xBD代表
中文
字符
在当前编码(
字符
集)下对应的二进制编码转换成十六进制:一个
汉字
=
两个
字节(GBK) 报错: 服务器没有
识别
对应的字节,服务器认为客户端数据是UTF8格式,一个
汉字
有三个字节,于是读取三个字节转换成
汉字
(
识别
失败) 注意: 所有的数...
MySQL中CHAR_LENGTH()和LENGTH()的区别
一、char_length(‘string’)/char_length(column_name)函数用来计算普通
字符
的长度,他会把一个
中文
字符
的长度按照设置的对应的
字符
集计算为2或3。例如:一个包含5个
字符
且每个
字符
占
两个
字节(比如
汉字
)的
字符
串而言,如果对于单字节的
字符
,则两者返回结果相同。2、不管
汉字
还是数字或者是字母都算是一个
字符
;3、任何编码下,多字节
字符
都算是一个
字符
;都是为了统计
字符
串的长度。
字符
,包括
中文
等
字符
集的长度,而。是按照字节来统计的,是按照
字符
来统计的。...
字符
集和
字符
编码
字符
集 · 创建文本文件默认使用ANSI,就是系统默认编码方式,
中文
window系统默认使用GBK编码方式 字节 · 这是最基本的概念,字节是计算存储容量的一种计量单位,我们知道计算机只能
识别
1和0组成的二进制位,一个数就是1位(bit),为了方便计算,我们规定8位就是一个字节
字符
·
字符
和字节不太一样,任何一个文字或符号都是一个
字符
,但所占字节不一定,不同的编码导致一个
字符
所占的内存不同 · 例如:标点符号+是一个
字符
,
汉字
我们是
两个
字符
,在GBK编码中一个
汉字
占2个字节,在UTF-8编码
mysql计算某个字段长度
char_length(str) 1、单位为
字符
2、不管
汉字
还是数字或者是字母都算是一个
字符
length(str) 1、字节,utf8编码下,一个
汉字
三个字节,一个数字或字母一个字节。 2、gbk下,一个
汉字
两个
字节,一个数字或字母一个字节。 length()<>char_length()可以用来检验是否含有
中文
字符
...
python
汉字
的处理
1.
中文
字符
的编码方式 2.python
中文
字符
的处理 3.
汉字
字数统计 4.汉语拼音
识别
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.9w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-11-01 08:42
社区公告
让您成为最强悍的C#开发者