文章目录

  • 第六十八章 Caché 函数大全 $WASCII 函数
  • 大纲
    • 参数
  • 描述
  • 示例

第六十八章 Caché 函数大全 $WASCII 函数

返回识别代理项对的字符对应的数字代码。

大纲

$WASCII(expression,position)
$WA(expression,position)

参数

  • expression 要转换的字符。
  • position 可选-字符在字符串中的位置,从1开始计数。默认值为1。

描述

$WASCII返回表达式中指定的单个字符的字符代码值。$WASCII将代理项对识别为单个字符。返回值为正整数。

Expression参数的计算结果可以是单个字符,也可以是字符串。如果表达式的计算结果为字符串,则可以包括可选的Position参数来指示要转换的字符。该位置将代理项对计为单个字符。可以使用$WISWIDE函数来确定字符串是否包含代理项对。

代理项对是一对16位Caché字符元素,它们一起编码单个Unicode字符。代理词对用于表示汉语、日语汉字和韩语朝鲜语中使用的某些表意文字。(最常用的中文、汉字和朝鲜文字符由标准的16位Unicode编码表示。)。代理对为日本JIS X0213:2004(JIS2004)编码标准和中国GB18030编码标准提供Caché支持。

代理项对由十六进制范围D800到DBFF的高位16位字符元素和十六进制范围DC00到DFFF的低位16位字符元素组成。

$WASCII函数将代理项对识别为单个字符。$ASCII函数将代理项对视为两个字符。在所有其他方面,$WASCII$ASCII在功能上是相同的。但是,因为$ASCII通常比$WASCII快,所以对于不太可能遇到代理项对的所有情况,$ASCII都是首选的。

示例

以下示例显示$WASCII返回代理项对的Unicode值:

/// d ##class(PHA.TEST.Function).WASCII()
ClassMethod WASCII()
{IF $SYSTEM.Version.IsUnicode()  {SET hipart=$CHAR($ZHEX("D806"))SET lopart=$CHAR($ZHEX("DC06"))WRITE !,$ASCII(hipart)," = high-order value"WRITE !,$ASCII(lopart)," = low-order value"SET spair=hipart_lopart /* surrogate pair */SET xpair=hipart_hipart /* NOT a surrogate pair */WRITE !,$WASCII(spair)," = surrogate pair value"WRITE !,$WASCII(xpair)," = Not a surrogate pair"}ELSE {WRITE "此示例需要安装Unicode的Caché"}
}
DHC-APP>d ##class(PHA.TEST.Function).WASCII()55302 = high-order value
56326 = low-order value
71686 = surrogate pair value
55302 = Not a surrogate pair

以下示例比较代理项对的$WASCII$ASCII返回值:

/// d ##class(PHA.TEST.Function).WASCII1()
ClassMethod WASCII1()
{IF $SYSTEM.Version.IsUnicode()  {SET hipart=$CHAR($ZHEX("D806"))SET lopart=$CHAR($ZHEX("DC06"))WRITE !,$ASCII(hipart)," = high-order value"WRITE !,$ASCII(lopart)," = low-order value"SET spair=hipart_lopart /* surrogate pair */WRITE !,$ASCII(spair)," = $ASCII value for surrogate pair"WRITE !,$WASCII(spair)," = $WASCII value for surrogate pair"}ELSE {WRITE "此示例需要安装Unicode的Caché"}
}
DHC-APP>d ##class(PHA.TEST.Function).WASCII1()55302 = high-order value
56326 = low-order value
55302 = $ASCII value for surrogate pair
71686 = $WASCII value for surrogate pair

下面的示例显示了对代理项对的位置计数的影响。它返回每个位置的$WASCII$ASCII值。$WASCII将代理项对计为一个位置;$ASCII将代理项对计为两个位置:

/// d ##class(PHA.TEST.Function).WASCII2()
ClassMethod WASCII2()
{IF $SYSTEM.Version.IsUnicode()  {SET hipart=$CHAR($ZHEX("D806"))SET lopart=$CHAR($ZHEX("DC06"))WRITE !,$ASCII(hipart)," = high-order value"WRITE !,$ASCII(lopart)," = low-order value",!SET str="AB"_lopart_hipart_lopart_"CD"_hipart_lopart_"EF"FOR x=1:1:11 {WRITE !,"position ",x," $WASCII ",$WASCII(str,x)," $ASCII ",$ASCII(str,x) }}ELSE {WRITE "This example requires a Unicode installation of Caché"}
}
DHC-APP>d ##class(PHA.TEST.Function).WASCII2()55302 = high-order value
56326 = low-order valueposition 1 $WASCII 65 $ASCII 65
position 2 $WASCII 66 $ASCII 66
position 3 $WASCII 56326 $ASCII 56326
position 4 $WASCII 71686 $ASCII 55302
position 5 $WASCII 67 $ASCII 56326
position 6 $WASCII 68 $ASCII 67
position 7 $WASCII 71686 $ASCII 68
position 8 $WASCII 69 $ASCII 55302
position 9 $WASCII 70 $ASCII 56326
position 10 $WASCII -1 $ASCII 69
position 11 $WASCII -1 $ASCII 70

第六十八章 Caché 函数大全 $WASCII 函数相关推荐

  1. 第十八章 Caché 命令大全 NEW 命令

    文章目录 第十八章 Caché 命令大全 NEW 命令 重点 大纲 参数 描述 NEW的限制 参数 pc variable 示例 注意 使用`NEW`功能的位置 `new`和`kill` `Inclu ...

  2. 第二十八章 Caché 命令大全 TSTART 命令

    文章目录 第二十八章 Caché 命令大全 TSTART 命令 重点 大纲 参数 描述 嵌套事务 SQL Transactions 参数 pc 示例 第二十八章 Caché 命令大全 TSTART 命 ...

  3. 第十八章 8string类insert成员函数的使用

    //8 string类insert成员函数的使用 /* #include <iostream> #include <string> using namespace std; i ...

  4. Caché 函数大全

    Caché 函数大全 Caché ObjectScript函数 第一章 Caché 函数大全 $ASCII 函数☆☆☆☆☆ 第二章 Caché 函数大全 $BIT 函数☆☆☆ 第三章 Caché 函数 ...

  5. Caché 命令大全

    Caché ObjectScript 命令 第一章 Caché 命令大全 BREAK 命令☆☆☆☆☆ 第二章 Caché 命令大全 CATCH 命令☆☆☆☆ 第三章 Caché 命令大全 CLOSE ...

  6. Caché 变量大全

    Caché 变量大全 系统变量 第一章 Caché 变量大全 $DEVICE 变量☆☆☆ 第二章 Caché 变量大全 $ECODE 变量☆☆☆ 第三章 Caché 变量大全 $ESTACK 变量☆☆ ...

  7. MySQL数据处理函数,分组函数,分组查询【MySQL】

    Java养成计划----学习打卡第六十六天 内容导航 单行处理函数(续) CONCAT 字符串拼接函数 LENGTH 字符串长度 TRIM 去空格 ROUND 四舍五入 RAND 生成随机数 IFNU ...

  8. 第六十九章 Caché 函数大全 $WCHAR 函数

    文章目录 第六十九章 Caché 函数大全 $WCHAR 函数 大纲 参数 描述 第六十九章 Caché 函数大全 $WCHAR 函数 返回与识别代理项对的数字代码对应的字符. 大纲 $WCHAR(e ...

  9. 第六十六章 Caché 函数大全 $TRANSLATE 函数

    文章目录 第六十六章 Caché 函数大全 $TRANSLATE 函数 大纲 参数 描述 `$TRANSLATE`和`$REPLACE` 示例 第六十六章 Caché 函数大全 $TRANSLATE ...

最新文章

  1. Mysql-study
  2. matlab最大化函数,求助,最大化一个函数
  3. 第十五届全国大学生智能汽车竞赛-室外光电ROS组预赛方案
  4. SSH框架搭建 笔记 (含spring注解驱动)
  5. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
  6. 内核对象——Windows核心编程学习手札系列之三
  7. opengl加载显示3D模型ZGL类型文件
  8. Nginx+httpd反代实现动静分离
  9. OSI各层相关的协议
  10. opencv mat赋值_opencv-python 关于位操作
  11. java 与 .net socket_java.net.ServerSocket和java.net.Socket
  12. iphone 调试技巧
  13. JAVA和C浮点数,为什么在C ++和Java中使用float函数会产生不同的结果?
  14. Emscripten教程之C++和JavaScript绑定(三)
  15. PB与各种数据库连接
  16. 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误...
  17. 计算机二级VEP考试内容,2017计算机二级VEP知识点:报表设计与应用
  18. html伸缩布局,HTML-CSS:伸缩布局
  19. Python 程序员需要知道的 30 个技巧(转载)
  20. 【Nova】nova-consoleauth学习

热门文章

  1. windows下查看硬盘序列号、设备序列号、操作系统版本和安装时间、系统启用时间等命令
  2. UE4家装系统工程源码/内含模型/材质/模型拖拽
  3. 脚本编写一个10秒的倒计时和1分10秒的倒计时
  4. np.random.seed()函数
  5. 液压比例阀放大器比例控制器比例阀放大板
  6. 数学建模暑期集训6:用SPSS对数据进行多元线性回归分析
  7. nowcoder:[编程题] 头条校招(贪心)
  8. 量化投资与数据分析一: 如何用PYTHON下载WIND数据并转化成dataframe格式 分享
  9. 2021年前端岗位面试题 “二”(本人亲测)
  10. USB转多路串口 USB hub USB扩展