lua中有这样一个库函数,string,find(),作用是在一个字符串中找到目标字符串的起始和结束位置(从1开始计数)

如:a,b=string.find("hello world","wo")//a==7,b==8

但是如果是这样呢:

a,b=string.find("我是大坏蛋","大坏蛋");

结果是:a=3,b=5吗?

嘿嘿,结果是a=5,=10.

原因是一个汉字使用2个字节表示的,比如“大坏蛋”即是6个字节。由于Lua使用2个字节表示一个汉字字符,所以总共可以表示出2^16=65536个汉字。这个数字已经完全够了,

1971年张其昀主编的《中文大辞典》,有49888 字,当代的《汉语大字典》(2010年版)收字60,370个,不过比起1994年中华书局、中国友谊出版公司出版的《中华字海》(收字85,568个)肯定是不够了,不过这是目前收字最多的汉语字典了。

有一点需要说明一下对于字符串"我是,大坏蛋!",里边的标点可以分为汉字标点和英文标点,汉字标点占2个字节,英文标点占1个字节。不过从观感来看,汉字标点确实比英文标点多占了一个字符位置。不过存贮中可没有存储那个多出来的空格。

最新文章

  1. scichart by Kline
  2. Flash导致弹出的div被隐藏
  3. magento app/design/adminhtml/default/default/template/sales/order/view/info.phtml XSS Vul
  4. DG配置实验
  5. 浏览器 CSS Hack 收集
  6. 利用zxing制作彩色,高容错,支持中文等UTF编码的QR二维码图片
  7. Oracle数据库 External component has thrown an exception
  8. 如何加入自定义WebControl
  9. docker-proxy 实现容器代理访问
  10. BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏( dfs )
  11. sublime Text3 新建文件时定义模块
  12. IO (二)
  13. git开发过程中的使用流程
  14. LeetCode108.将有序数组转换为二叉搜索树
  15. Spring Security原理与应用
  16. 四则运算level2
  17. How To: Implement a Major Upgrade In Your Installer
  18. NodeJS平台下的前后端文件共享
  19. document ready
  20. Codeforces Round #345 (Div. 1) A - Watchmen 容斥

热门文章

  1. <script>元素的位置
  2. Javascript备忘模式
  3. ios-model数据结构
  4. Docker三剑客之Swarm介绍
  5. iOS:命令行方式使用OSChina托管私有代码
  6. TestLink学习八:TestLink1.9.13与Mantis1.2.19集成
  7. 去除行内(inline/inline-block)元素之间的间距
  8. 计划将项目中使用entity framework的要点记录到改栏目下
  9. rosetta common sh: mpiCC command not found解决方法
  10. Unity NGUI 资源下载