日期:2014-05-18  浏览次数:20735 次

汉字,字符和字节的问题

淘宝注册时输入12个汉字说超出20个字符


京东注册时输入12个汉字说超出20个字符


------解决方案--------------------
一个汉字是按两个字节算的吧
------解决方案--------------------
我理解出现这个问题的原因是为了用户体验。

淘宝上有提示:5-20个字符,一个汉字为两个字符,推荐使用中文会员名。一旦注册成功会员名不能修改。

大部分人都知道,例如:
一个a就是一个字符,一个1就是一个字符。但是大多数网民,应该没有是字节的概念。
------解决方案--------------------
1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节。 
淘宝和京东应该是用字节算的吧
------解决方案--------------------
我同意叶子的看法,
对普通用户来说,基本搞不清字符、字节的区别。
反正程序验证的时候按照1个字母1字节,1个汉字2字节来判断就行了。
------解决方案--------------------
探讨
京东和淘宝毕竟和CSDN不同,不是面向it工作者的。

------解决方案--------------------
书上是这样说的,char和varchar ,非unicode时,每个字符消耗1个字节,这样的情况我觉得1字节=1字符。
nchar和nvarchar,unicode,每个字符消耗两个字节,这样应该就是 1字符=2字节。


求鉴定。。。
------解决方案--------------------

通常一个汉字是存储按两个字符来存储的,英文字母为一个字符。
计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。 
计算机存储容量基本单位是字节(Byte),音译为拜特,8个二进制位组成1个字节,一个标准英文字母占一个字节位置,一个标准汉字占二个字节位置。 
计算机基础课程基本都会有讲到,或者任意编程语言类的都会说一个汉字的存储情况至少。
------解决方案--------------------
探讨
通常一个汉字是存储按两个字符来存储的,英文字母为一个字符。
计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。
计算机存储容量基本单位是字节(Byte),音译为拜特,8个二进制位组成1个字节,一个标准英文字母占一个字节位置,一个标准汉字占二个字节位置。
计算机基础课程基本都会有讲到,或者任意编程语言类的都会说一个汉字的存储情况至少。

------解决方案--------------------
淘宝做了非常细腻的提醒,京东就那样了,其它的网站可能更差了。。我看你也是闲得慌,刚看了一个你的bolg 点着点着就点到这里了。。。。。。。
------解决方案--------------------
我觉得淘宝京东没错,也不存在什么不严谨的
关键现代计算机的基础是西方人发明的,当初哪有那么多想法,一个打字机就够用了,比如对美国人来说字符(symbol)就是一个字,一套ASCII就足够涵盖了几乎所有的字符,一个字符计算机里就是一个字节来存储,所以对他们来说字符就等于字节也包括字母

但是传到一些其他国家,比如我们汉字256个哪够用啊(还要考虑到英文),所以我觉得对我们来说字符应该不能划等号和汉字,字符已经是西化的东西了我们应该摒弃的或者就认为ASCII里的才能叫字符,计算机里的汉字已经不是字符了,但是平时的生活来说一个汉字还是认为是一个字符
------解决方案--------------------
不允许用户名出现汉字,或用户名只允许输入汉字,就很方便了。