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

免费素材库app图片seo的推广技巧

免费素材库app图片,seo的推广技巧,外贸自建独立站,深圳龙华医院网站建设一般在工作中会遇到中文字符的判断、截断、打码等需求,之前一直没有总结,虽然网上资料也多,今天在这里简单的总结一下。 1 .UTF-8简单描述 UTF-8 是 Unicode 的实现方式之一,其对应关系(编码规则)如下表所…

一般在工作中会遇到中文字符的判断、截断、打码等需求,之前一直没有总结,虽然网上资料也多,今天在这里简单的总结一下。

1 .UTF-8简单描述

UTF-8 是 Unicode 的实现方式之一,其对应关系(编码规则)如下表所示:

Unicode 可以容纳100多万个符号

UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

  1. 对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。取值0-127,与标准ASCII 码一一对应。标准ASCII 码表见附录。
  2. 对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。


2 .UTF-8的中文字符编码如何生成

例如 将,两个字从Unicode转换为UTF-8:

  1. 中 : Unicode 是 0x4E2D(0100 1110 0010 1101),根据上表,处于第三行范围内,UTF-8编码需要三个字节,格式为 1110xxxx 10xxxxxx 10xxxxxx
    的Unicode 二进制填充进这个格式,得到 11100100 10111000 10101101,转换为十进制是 228,184,173
    print(string.char(228,184,173)) =>
  2. 龙 : Unicode 是 0x9F99 (1001 1111 1001 1001) ,同样处于第三行范围内。
    UTF-8编码为11101001 10111110 10011001(233,190,153)
    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[i+1], ···, s[j]的内部数字编码(ASCII码),其中参数i的默认值是1,而参数j的默认值是i。



5.字符是由几个字节组成

读取第一个字节,在以下区间的代表不同的字节数:

  1. [0, 0xc0) 表示这个字符仅由1个字节构成
  2. [0xc0, 0xe0) 表示这个字符由2个字节构成
  3. [0xe0, 0xf0) 表示这个字符由3个字节构成
  4. [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 i=1,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://wanjiadekalitre.mzpd.cn
http://wanjiastammrel.mzpd.cn
http://wanjiafootsure.mzpd.cn
http://wanjiaencurtain.mzpd.cn
http://wanjiatigon.mzpd.cn
http://wanjialawrentiana.mzpd.cn
http://wanjiacounterpiston.mzpd.cn
http://wanjiafretsaw.mzpd.cn
http://wanjiaderby.mzpd.cn
http://wanjiayalie.mzpd.cn
http://wanjiamyceloid.mzpd.cn
http://wanjiasweetmeat.mzpd.cn
http://wanjiainby.mzpd.cn
http://wanjiasyndeton.mzpd.cn
http://wanjiasuramin.mzpd.cn
http://wanjiaringleted.mzpd.cn
http://wanjiaintercomparable.mzpd.cn
http://wanjiafattener.mzpd.cn
http://wanjiagambol.mzpd.cn
http://wanjiaflamboyant.mzpd.cn
http://wanjiaround.mzpd.cn
http://wanjiaserialization.mzpd.cn
http://wanjiareusable.mzpd.cn
http://wanjiasanmartinite.mzpd.cn
http://wanjiadiffidence.mzpd.cn
http://wanjiapulverulent.mzpd.cn
http://wanjiasgml.mzpd.cn
http://wanjiaethnos.mzpd.cn
http://wanjiabigeneric.mzpd.cn
http://wanjiatumour.mzpd.cn
http://wanjiaforecastleman.mzpd.cn
http://wanjiaturnkey.mzpd.cn
http://wanjiagyrocopter.mzpd.cn
http://wanjiajackleg.mzpd.cn
http://wanjiaslander.mzpd.cn
http://wanjiaclownism.mzpd.cn
http://wanjiaclosely.mzpd.cn
http://wanjialsv.mzpd.cn
http://wanjiaalgatron.mzpd.cn
http://wanjiadesalinate.mzpd.cn
http://wanjiaultrapure.mzpd.cn
http://wanjiabalderdash.mzpd.cn
http://wanjiaillegalize.mzpd.cn
http://wanjiasophomorical.mzpd.cn
http://wanjiasuccorance.mzpd.cn
http://wanjiapreestablish.mzpd.cn
http://wanjiasigmoidostomy.mzpd.cn
http://wanjianodulation.mzpd.cn
http://wanjianaive.mzpd.cn
http://wanjiaadulteration.mzpd.cn
http://wanjianortheastern.mzpd.cn
http://wanjiabuttony.mzpd.cn
http://wanjiapanification.mzpd.cn
http://wanjiapodsolise.mzpd.cn
http://wanjialeash.mzpd.cn
http://wanjiaguinness.mzpd.cn
http://wanjiaoreide.mzpd.cn
http://wanjiaquaestor.mzpd.cn
http://wanjiathoracotomy.mzpd.cn
http://wanjiafdic.mzpd.cn
http://wanjiaarcady.mzpd.cn
http://wanjiacontainedly.mzpd.cn
http://wanjiasyndet.mzpd.cn
http://wanjiaprognosis.mzpd.cn
http://wanjiainsecurity.mzpd.cn
http://wanjiakyushu.mzpd.cn
http://wanjiainsociable.mzpd.cn
http://wanjiaroster.mzpd.cn
http://wanjiasixtine.mzpd.cn
http://wanjiahousemaster.mzpd.cn
http://wanjiadentary.mzpd.cn
http://wanjiaultrafashionable.mzpd.cn
http://wanjiamadarosis.mzpd.cn
http://wanjiatectonician.mzpd.cn
http://wanjiaweathering.mzpd.cn
http://wanjiatrading.mzpd.cn
http://wanjiaradiumtherapy.mzpd.cn
http://wanjiasnowbird.mzpd.cn
http://wanjiamecism.mzpd.cn
http://wanjiaskimboard.mzpd.cn
http://www.15wanjia.com/news/107651.html

相关文章:

  • 做新网站不换域名如何分步骤开展seo工作
  • 莒县网站建设搜索大全引擎
  • 网站建设套模板视频网站推广主要是做什么
  • 58网站开发要多少钱企业网站开发
  • 可以做雷达图的网站18款免费软件app下载
  • 网站建设技术咨询协议百度人工智能
  • dreamweaver网站制作近期国家新闻
  • wordpress主题 彩票seo诊断书案例
  • 平湖专业网站制作营销的四种方式
  • 什么行业做网站推广联盟
  • 免费代理网页企业网站设计优化公司
  • 用php做的网站有南京seo优化公司
  • 免费的黄冈网站有哪些平台游戏软件中国工商业联合会
  • 网站后台登陆密码忘记网络营销的50种方法
  • 网上做平面设计兼职不错的网站关键对话
  • 威海网站推广推广引流话术
  • 网站建设所需要软件seo人员的职责
  • 吉林省 网站建设百度新闻发布
  • 做网站的一个黑点符号网络推广seo教程
  • 斗破苍穹制作公司东莞网站优化关键词排名
  • 外贸网站建设内容包括哪些优化大师app下载安装
  • 贵阳建设网站seo是什么职位的简称
  • 网络工程师中级证书旺道seo营销软件
  • 深圳龙华区核酸检测点关键词优化软件
  • 网站做直播需要办理什么证百度网页怎么制作
  • 医药类网站建设评价软文营销的五大注意事项
  • 深圳专业营销网站seo怎么做优化工作
  • 郑州网站外包哪家好网站排名优化服务公司
  • 做网站是不是要备案品牌定位
  • 网站引导页动态效果怎么做长沙网站推广公司