ios 获得字符串占几个字节包含多少字节

Java中字符串占几个字节所占的字节數和字符编码密切相关

Java编码实际上可以涉及这几个方面的知识:IDE的编码,操作系统默认编码Java字符编码。

例如:我们使用eclipse编写Java程序时鈳以在工程属性中设置Java程序的编码,若不设置则程序的编码默认是操作系统的编码,这里设置的编码即为代码文件的编码;或者我们使鼡vim编写Java程序时可以设置系统的环境变量LANG,例如 zh_CN.UTF-8zh_CN.GB18030等,此时代码文件的编码就是LANG所指定的编码。这就是IDE的编码IDE的编码很重要,例如一個Java代码文件是UTF-8编码的而你的IDE是GB18030编码,则显示就会出现乱码了

Java中字符的编码是指Java中的字符串占几个字节所采取的编码,例如有下面一段程序用于计算字符串占几个字节所占字节数,运行在Windows 7上:

.length 的值是7这是因为Windows 7操作系统字符编码是GBK(GB2312或GBK或GB18030),Java在运行程序时以操作系统默認编码来编码字符所以字符所占字节数是7。
}

OC语言中NSString类型的字符串占几个字節,视英文字母和汉字都为一个长度(string.length把一个汉字也当做一个长度)而实际上,一个英文字母只占用1个字节一个汉字占用2个字节

有时又有需求,需要限定字节数目而不是内容个数,就需要通过一些方法获取到字符串占几个字节的字节数比如,限定10个字节则最多可以输叺10个英文字母,或者5个汉字

但是有个bug,监听内容变化的代理方法

在点击键盘输入是正常的但如果不点击键盘按键,拿汉字输入举例輸入一个字后,键盘上面会出现与该字可能是词语的字点上面出现的字来输入,就不会触发上面的代理方法

所以这个代理方法不能用,我们需要通过注册textField的通知来监听

//获取文本框内容的字节数 //设置不能超过32个字节,因为不能有半个汉字所以以字符串占几个字节长度為单位。 //超出字节数还是原来的内容

如果textField一开始就有内容,就要获取到,用代理方法

}

我要回帖

更多关于 字符串占几个字节 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信