问题描述
如题,有没有什么简便方法?
解决方案
本帖最后由 yellowgiutou 于 2015-03-16 17:09:55 编辑
解决方案二:
解决方案三:
那你用正则来匹配出,全角与半角全角=2字节半角1字节。就是了
解决方案四:
如果你能确定汉字到底被转换成几个字节,还可以先正则匹配出所有的汉字和中文标点,然后中文字符和英文字符分别乘以不同的系数,来进行计算否则你还不如转换了,要维护一个什么汉字几个字节的表更麻烦
解决方案五:
引用2楼wyd1520的回复:
那你用正则来匹配出,全角与半角全角=2字节半角1字节。就是了
这不一定吧,看是什么编码我记得UTF8汉字是3个字节啊
解决方案六:
Unicode好像有的汉字2字节,有的汉字4字节,不一定
解决方案七:
引用4楼Z65443344的回复:
Quote: 引用2楼wyd1520的回复:
那你用正则来匹配出,全角与半角全角=2字节半角1字节。就是了这不一定吧,看是什么编码我记得UTF8汉字是3个字节啊
你说的对。那看他用什么编码了。GB23122个字节,UTF83个字节
解决方案八:
我觉得正则挨个匹配出来,效率不一定比直接转字节数组高吧其实还不如直接转了再判断
解决方案九:
猜对了难道有奖吗?不真正去查看byte[]内容,但是要数出来byte[]的个数,解决题目可以为你的程序多卖1毛钱还是会让程序整体运行速度快1秒钟呢?
解决方案十:
不转byte[],那你起码也要确定用什么编码。不同编码转换的Byte[]长度是不一样的。Encoding类型除了GetBytes()方法,还提供了GetBytesCount()方法,让你在取得实际byte[]之前预知长度。
解决方案十一:
引用8楼sp1234的回复:
猜对了难道有奖吗?不真正去查看byte[]内容,但是要数出来byte[]的个数,解决题目可以为你的程序多卖1毛钱还是会让程序整体运行速度快1秒钟呢?
是否能够多卖钱,是否能够快1秒,就不劳你费心了!有思路可以解决可以说,没有也请不要带刺,谢谢~!
时间: 2024-10-31 16:58:41