?
文章目录
第101章 Caché 函数大全 $ZCYC 函数 - 大纲
-
- 参数
- 描述
- 参数
-
- string
- 示例
?
循环冗余检查以确保数据完整性。
大纲$ZCYC(string)
$ZC(string)
参数
string - 字符串
描述$ZCYC(string)
计算并返回该字符串的循环冗余校验值。它允许两个互通程序检查数据完整性。
发送程序发送一条数据以及它使用$ZCYC
计算的匹配校验值。接收程序通过使用$ZCYC
计算其校验值来验证发送的数据。如果两个校验值匹配,则接收的数据与发送的数据相同。
$ZCYC
通过对字符串中所有字符的二进制表示执行异或(XOR)来计算检查值。
在Caché的8位和Unicode(16位)实现之间传输数据时要谨慎;如果数据字符串不包含任何宽字符,则循环冗余校验值应匹配。
请注意,8位字符串的$ZCYC
值与$ZCRC
模式1的值相同。
string
一个字符串。可以指定为值,变量或表达式。字符串值用引号引起来。
示例在此示例中,第一个$ZCYC
返回65;第二个返回3;第三个返回64。
/// d ##class(PHA.TEST.Function).ZCYC()
ClassMethod ZCYC()
{
SET x= $ZCYC("A")
; 1000001 (only one character; no XOR )
SET y= $ZCYC("AB")
; 1000001 XOR 1000010 -> 0000011
SET z= $ZCYC("ABC")
; 1000001 XOR 1000010 -> 0000011 | 1000011 -> 100000
WRITE !,"x=",x," y=",y," z=",z
}
DHC-APP>d ##class(PHA.TEST.Function).ZCYC()
x=65 y=3 z=64
?