博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Lua中计算含中文的字符串的长度
阅读量:6817 次
发布时间:2019-06-26

本文共 1246 字,大约阅读时间需要 4 分钟。

1 --[[ 2     @desc: 计算字符串字符个数 3     author:{author} 4     time:2017-12-29 16:08:11 5     --@inputstr: 源字符串 6     return 字符个数 7 ]] 8 function getStringCharCount(str) 9     local lenInByte = #str10     local charCount = 011     local i = 112     while (i <= lenInByte) 13     do14         local curByte = string.byte(str, i)15         local byteCount = 1;16         if curByte > 0 and curByte <= 127 then17             byteCount = 1                                               --1字节字符18         elseif curByte >= 192 and curByte < 223 then19             byteCount = 2                                               --双字节字符20         elseif curByte >= 224 and curByte < 239 then21             byteCount = 3                                               --汉字22         elseif curByte >= 240 and curByte <= 247 then23             byteCount = 4                                               --4字节字符24         end25         26         local char = string.sub(str, i, i + byteCount - 1)27         i = i + byteCount                                               -- 重置下一字节的索引28         charCount = charCount + 1                                       -- 字符的个数(长度)29     end30     return charCount31 end

 

转载于:https://www.cnblogs.com/AaronBlogs/p/8145963.html

你可能感兴趣的文章
MEMCACHE常用的命令
查看>>
Android 不显示光标或者光标颜色为白色的解决方法
查看>>
C#网络编程之---TCP协议的同步通信(二)
查看>>
thinkphp-许愿墙-3
查看>>
linux awk时间计算脚本
查看>>
杭电3635--Dragon Balls(并查集)
查看>>
npm install报错Unhandled rejection RangeError: Maximum call stack size exceededill install
查看>>
理解OAuth 2.0
查看>>
得到颜色的整形值
查看>>
.net winForm 实现类似qq 弹出新闻
查看>>
SSL加速和证书卸载的配置方式
查看>>
Intersect交集
查看>>
Sencha touch 中的一段源码匿名中定义Function并调用
查看>>
android开发学习 ------- 枚举类型在Android中的用法
查看>>
day14 装饰器模拟验证附加功能
查看>>
c#简单自定义异常处理日志辅助类
查看>>
make: *** No targets specified and no makefile found. Stop.错误
查看>>
闭包的常见用处
查看>>
中联通4月份3G用户净增181.7万总数突破2000万
查看>>
cJSON填坑记
查看>>