当前位置: 首页 > news >正文

呼市建设官方网站用yershop做网站

呼市建设官方网站,用yershop做网站,免费申请账号网站,网站空间的参数一般在工作中会遇到中文字符的判断、截断、打码等需求#xff0c;之前一直没有总结#xff0c;虽然网上资料也多#xff0c;今天在这里简单的总结一下。 1 .UTF-8简单描述 UTF-8 是 Unicode 的实现方式之一#xff0c;其对应关系#xff08;编码规则#xff09;如下表所…一般在工作中会遇到中文字符的判断、截断、打码等需求之前一直没有总结虽然网上资料也多今天在这里简单的总结一下。 1 .UTF-8简单描述 UTF-8 是 Unicode 的实现方式之一其对应关系编码规则如下表所示 Unicode 可以容纳100多万个符号 UTF-8 最大的一个特点就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号根据不同的符号而变化字节长度。 对于单字节的符号字节的第一位设为0后面7位为这个符号的 Unicode 码。取值0-127与标准ASCII 码一一对应。标准ASCII 码表见附录。对于n字节的符号n 1第一个字节的前n位都设为1第n 1位设为0后面字节的前两位一律设为10。剩下的没有提及的二进制位全部为这个符号的 Unicode 码。 2 .UTF-8的中文字符编码如何生成 例如 将中,龙两个字从Unicode转换为UTF-8 中 : Unicode 是 0x4E2D(0100 1110 0010 1101),根据上表处于第三行范围内UTF-8编码需要三个字节格式为 1110xxxx 10xxxxxx 10xxxxxx。 将中的Unicode 二进制填充进这个格式得到 11100100 10111000 10101101转换为十进制是 228184173print(string.char(228,184,173)) 中龙 : Unicode 是 0x9F99 (1001 1111 1001 1001) 同样处于第三行范围内。 UTF-8编码为11101001 10111110 10011001(233190153)print(string.char(233,190,153)) 龙 3. lua判断字符是不是中文 通常来说汉字范围从0x4E00到0x9FA5转换为UTF-8编码为11100100 10111000 10000000(228, 184, 128) 到 11101001 10111110 10100101(233, 190, 165) 因此中文UTF-8编码用3个字节表示要遵守格式1110xxxx 10xxxxxx 10xxxxxx 即第一个字节的取值区间为 [11100000, 11110000) [0xe0, 0xf0) [224, 240) 左开右闭 后两个字节的取值区间为[10000000, 10111111] [0x800xbf] [128, 191] 开区间 4.如何取得字节ASCII码 - string.byte() 原型string.byte (s [, i [, j] ])解释函数返回字符s[i], s[i1], ···, s[j]的内部数字编码(ASCII码)其中参数i的默认值是1而参数j的默认值是i。 5.字符是由几个字节组成 读取第一个字节在以下区间的代表不同的字节数 [0, 0xc0) 表示这个字符仅由1个字节构成[0xc0, 0xe0) 表示这个字符由2个字节构成[0xe0, 0xf0) 表示这个字符由3个字节构成[0xf0, 0xff) 表示这个字符由4个字节构成 -- 判断utf8字符byte长度 -- [0, 0xc0) 表示这个字符仅由1个字节构成 [0,192) -- [0xc0, 0xe0) 表示这个字符由2个字节构成 [192,224) -- [0xe0, 0xf0) 表示这个字符由3个字节构成 [224,240) -- [0xf0, 0xff) 表示这个字符由4个字节构成 [240,255) function Utils.getChrSize(char)if not char thenreturn 0elseif char 240 thenreturn 4elseif char 224 thenreturn 3elseif char 192 thenreturn 2elseif char 0 thenreturn 1end end 6.附加几个常用的函数 我的需求 -- 把字符串转换成第一个显示后面是**号 如中国人 - 中** function Utils.changeTextExpress(str)if not str then return str endlocal tempStr local len string.utf8len(str)local first string.byte(str, 1)local firstLen sgs.utils.getChrSize(first)tempStr string.sub(str, 1,firstLen)for i1,len-1 dotempStr tempStr .. *endreturn tempStr end 再附加几个其他的方法 -- 计算 UTF8 字符串的长度每一个中文算一个字符 -- function [parent#string] utf8len -- param string input 输入字符串 -- return integer#integer 长度--[[--计算 UTF8 字符串的长度每一个中文算一个字符~~~ lualocal input 你好World print(string.utf8len(input)) -- 输出 7~~~]]-- end --function string.utf8len(input)local len string.len(input)local left lenlocal cnt 0local arr {0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}while left ~ 0 dolocal tmp string.byte(input, -left)local i #arrwhile arr[i] doif tmp arr[i] thenleft left - ibreakendi i - 1endcnt cnt 1endreturn cnt end -- 计算utf8字符串字符数, 中文按两个字符计算 function stringTool.utf8len_ChineseInTwo( str )local len 0local currentIndex 1while currentIndex #str dolocal char string.byte(str, currentIndex)local charLength stringTool.chsize(char)currentIndex currentIndex charLengthif charLength 2 thenlen len 2elselen len 1end endreturn len end--截取字符串按字符截取 -- str: 要截取的字符串 -- startChar: 开始字符下标,从1开始 -- numChars: 要截取的字符长度 function stringTool.utf8sub( str, startChar, numChars )local startIndex 1while startChar 1 dolocal char string.byte(str, startIndex)startIndex startIndex stringTool.chsize(char)startChar startChar - 1endlocal currentIndex startIndexwhile numChars 0 and currentIndex #str dolocal char string.byte(str, currentIndex)currentIndex currentIndex stringTool.chsize(char)numChars numChars -1endreturn str:sub(startIndex, currentIndex - 1), numChars end
http://www.pierceye.com/news/219875/

相关文章:

  • 网站如何规划c 手机网站开发模板
  • 哈尔滨网站建设优化公司室内设计网站
  • 厚街做网站的公司wordpress出现百度抓取404页面
  • 四川南充网站建设西安网站建设推广优化
  • 做企业门户网站都连连电商网站开发公司
  • 微商城网站建设价位公司要想做个网站这么弄
  • wordpress文章所属栏目关键词排名优化易下拉教程
  • 网站主题咋做免费网页模板素材网站
  • 网站建设对旅游意义公众号运营策划
  • 成都专业网站制作关于论文网站开发参考文献
  • 免费做代理郑州seo招聘
  • 做网站系统更新后wordpress
  • 兰州网站建站2024免费网站推广
  • 深圳模板建站企业网站出现搜索
  • app开发网站模板该网站正在紧急升级维护中
  • 公众号编辑器365保定seo推广
  • 陕西整站关键词自然排名优化外贸获客渠道有哪些
  • 网站策划需要具备什么福州高端建站
  • 域名注册没有网站美食网页设计素材图片
  • wordpress网站在哪里修改密码ps做网站要求高吗
  • 企业网站带商城源码Audiology wordpress
  • 星月教你做网站东营城乡建设局官网
  • 镇江网站建设开发旺店通erp系统
  • 体育直播网站建设深圳制作小程序
  • 手机微信管理系统搜索引擎优化的流程是什么
  • 壁纸公司网站源码做网站价格表
  • 潜江网站设计商务科技网站建设
  • 合肥企业网站制作网站开发公司简介
  • 德州市建设小学网站文员工作内容
  • 网站域名买卖营销技巧第三季在线观看