Scintilla教程(6): 字符集
By character or UTF-16 code unit
整体介绍
大多数Scintilla的API使用字节位置,但一些应用程序希望使用基于计数(UTF-32)字符或(UTF-16)代码单元的位置,或者需要与以字符或代码单元编写的其他代码通信。由于只有字节位置,这可能需要检查许多字节来计算文档中的字符或代码单位,但在某些情况下,可以通过索引以字符或代码单位开头的行来加快速度。
SCI_POSITIONRELATIVE
SCI_POSITIONRELATIVE(position pos, position relative) → position
计算参数位置前后的整字符数,并返回该位置。返回的最小位置为0,最大位置为文档中的最后一个位置。如果位置超过文档结尾,则返回0。
SCI_COUNTCHARACTERS
SCI_COUNTCHARACTERS(position start, position end) → position
返回两个位置之间的整字符数。
SCI_POSITIONRELATIVECODEUNITS,SCI_COUNTCODEUNITS
SCI_POSITIONRELATIVECODEUNITS(position pos, position relative) → position SCI_COUNTCODEUNITS(position start, position end) → position
这两个消息是SCI_POSITIONRELATIVE和SCI_COUNTCHARACTERS的UTF-16版本,以UTF-16的编码方式运行。
SCI_GETLINECHARACTERINDEX
SCI_GETLINECHARACTERINDEX
如果任何索引处于活动状态,则返回该值。如果对整个字符进行索引,则可以是SC_LINECHARACTERINDEX_NONE(0)或一个或多个SC_LINECHARACTERINDEX_UTF32(1),如果对UTF-16代码单元进行索引,则可以是SC_LINECHARACTERINDEX_UTF16(2)。字符索引目前仅支持UTF-8文档。
SCI_ALLOCATELINECHARACTERINDEX,SCI_RELEASELINECHARACTERINDEX
SCI_ALLOCATELINECHARACTERINDEX(int lineCharacterIndex) SCI_RELEASELINECHARACTERINDEX(int lineCharacterIndex)
使用与SCI_GETLINECHARACTERINDEX相同的枚举分配或发布一个或多个索引。应用程序的不同方面可能需要不同时段的索引,并且应该为这些时段分配索引。索引使用额外的内存,因此释放它们可以帮助最小化内存,但它们也需要时间重新计算。Scintilla还可以分配索引以支持可访问性或输入法编辑器等功能。一次仅为文档创建一个每种类型的索引。
SCI_LINEFROMINDEXPOSITION,SCI_INDEXPOSITIONFROMLINE
SCI_LINEFROMINDEXPOSITION(position pos, int lineCharacterIndex) → line SCI_INDEXPOSITIONFROMLINE(line line, int lineCharacterIndex) → position
通过使用SC_LINECHARACTERINDEX_UTF32(1)或SC_LINECHARACTERINDEX_UTF16(2)中的一个调用SCI_LINEFROMINDEXPOSITION,可以找到特定字符或代码单元的文档行。相反的操作是,通过使用相同的lineCharacterIndex参数调用SCI_INDEXPOSITIONFROMLINE,从文档开始以字符或代码单位查找文档行的起始位置。
Scintilla教程(6): 字符集相关推荐
- Linux平台Java环境中文编码研究
09年在原来公司做的一篇文章,现在共享出来. 此次研究主要针对Linux操作系统中Java环境下可能产生的中文乱码问题展开一些试验,目的在于寻求一套无乱码的解决方案. 此文档目的在于详细介绍<2 ...
- Scintilla MFC使用教程
Scintilla MFC使用教程 修复了按 Ctrl+S 会出现 "IDC"字符的BUG 增加了自定义消息 VK_ADD_HISTR: #define SET_EDITHIGHL ...
- MySQL5.6解压版详细安装教程(附安装配置、MySQL数据库设置root管理员密码,MySQL字符集设置问题及解决办法)
写在前面:MySQL安装分为两种方式,一种是MSI安装版(普通的安装包,有引导安装的界面),另一种是压缩包解压版(解压可直接使用,但需要配置),本文主要针对压缩包解压安装进行讲解,并附加安装过程遇到的 ...
- mysql批量修改字段字符集_MySQL字符集修改实战教程
前言: 在 MySQL 中,系统支持诸多字符集,不同字符集之间也略有区别.目前最常用的字符集应该是 utf8 和 utf8mb4 了,相比于 utf8 ,utf8mb4 支持存储 emoji 表情,使 ...
- ubuntu的mysql教程 pdf_Ubuntu上的MySQL字符集设置技巧
Ubuntu上mysql默认安装使用的字符集是latin1. 1 查看字符集支持 show character set; 2 查看字符集相关变量 show variables like quot;ch ...
- Eclipse教程(3)--- 修改字符集
Eclipse 修改字符集 默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下: ...
- Mysql 数据库字符集转换及版本升级/降级的详细教程
本文为穆亦风原创,原帖地址 http://club.muzone.cn/viewthread.php?tid=28605 转贴请注明出处,非常感谢! 最近discuz发布了新的版本,免费了,用的人更多 ...
- xp mysql字符集与乱码_MySQL乱码的原因和设置UTF8数据格式的方法介绍-mysql教程-学派吧...
本篇文章给大家带来的内容是关于MySQL乱码的原因和设置UTF8数据格式的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. MySQL使用时,有一件很痛苦的事情肯定是结果乱码. ...
- 火山火花代码编辑框(火花编辑框)Scintilla代码编辑框案例教程
本Scintilla类库封装的非常全,涉及到了多个回调事件.涉及到了 代码搜索.快照.截图.Scintilla的各种命令.各种背景色调整.各种相关的文本处理.代码处理.撤销重做等等等~ 本类库主要是我 ...
- 《MySQL 入门教程》第 28 篇 字符集与排序规则
文章目录 28.1 字符集 28.1.1 服务器字符集 28.1.2 客户端字符集 28.1.3 国家字符集 28.2 排序规则 28.2.1 设置排序规则 28.2.2 中文排序规则 本篇我们介绍一 ...
最新文章
- 基于Windows配置COLMAP环境
- 2021暨南大学计算机考研,暨南大学2021广播电视专硕经验贴
- 【NOIP1999】导弹拦截
- 一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)
- DIY走向高端化:用料成为比拼焦点
- python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...
- Android 手机不赚钱为啥还要做
- 一文读懂人工智能、机器学习、深度学习、数据挖掘、模式识别、计算机视觉、大数据是什么和它们之间的关系!深度好文!重磅推荐!
- 英语数字听力学习软件操作
- html 里面的 role 属性是什么意思和用途
- 测速工具使用心得体会
- matlab ols hac,R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
- Python入门笔记(第五期——序列的应用2)
- nginx proxy_pass匹配路径
- Libuv Timer定时器
- 程序员接私活经验总结
- 手部姿态检测(按视频段)_v3(hcn)
- 6成网友睡前不玩手机睡不着 专家称影响生育
- 中等职业技术学校计算机考试,重庆市中等职业技术学校计算机教师网络培训考试题(9页)-原创力文档...
- stm32+HAL库制作转速仪