美文网首页
第七十三章 Caché 函数大全 $WLENGTH 函数

第七十三章 Caché 函数大全 $WLENGTH 函数

作者: Cache技术分享 | 来源:发表于2020-11-02 08:35 被阅读0次

    第七十三章 Caché 函数大全 $WLENGTH 函数

    返回字符串中的字符数,识别代理对。

    大纲

    $WLENGTH(string)
    $WL(string)
    

    参数

    • string 字符串或表达式,其值为字符串。

    描述

    $WLENGTH返回字符串中的字符数。 $WLENGTH在功能上与$LENGTH相同,只是$WLENGTH可以识别代理对。它将代理对视为单个字符。可以使用$WISWIDE函数确定字符串是否包含代理对。

    代理对是一对16位Caché字符元素,它们一起编码一个Unicode字符。代理对用于代表某些表意文字,这些表意文字用于中文,日文汉字和韩文汉字。 (大多数常用的中文,汉字和汉字字符由标准的16位Unicode编码表示。)代理对为日语JIS X0213:2004(JIS2004)编码标准和中文GB18030编码标准提供了Caché支持。

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

    $WLENGTH函数将代理对计为单个字符。 $LENGTH函数将一个代理对视为两个字符。在所有其他方面,$WLENGTH$LENGTH在功能上是相同的。但是,由于$LENGTH通常比$WLENGTH快,因此对于不太可能遇到代理对的所有情况,$LENGTH是更可取的。

    示例

    下面的示例显示$WLENGTH如何将代理对作为单个字符进行计数:

    /// d ##class(PHA.TEST.Function).WLENGTH()
    ClassMethod WLENGTH()
    {
        IF $SYSTEM.Version.IsUnicode()  {
            SET spair=$CHAR($ZHEX("D806"),$ZHEX("DC06"))
            SET str="AB"_spair_"CD"
            WRITE !,$LENGTH(str)," $LENGTH characters in string"
            WRITE !,$WLENGTH(str)," $WLENGTH characters in string"
        } ELSE {
            WRITE "This example requires a Unicode installation of Caché"
        }
    }
    
    DHC-APP>d ##class(PHA.TEST.Function).WLENGTH()
     
    6 $LENGTH characters in string
    5 $WLENGTH characters in string
    

    相关文章

      网友评论

          本文标题:第七十三章 Caché 函数大全 $WLENGTH 函数

          本文链接:https://www.haomeiwen.com/subject/vtppvktx.html