窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
调试输出 (_UTF8文本_编码 (“哈哈 \u0001\u0002”))
调试输出 (_UTF8文本_解码 (_UTF8文本_编码 (“哈哈 \u0001\u0002”))
)|
_UTF8文本_解码 | 文本型 | |
|
UTF8文本 | 字节集 | | | |
符号 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
u | 字节集 | | |
n | 整数型 | | |
k | 整数型 | | |
transform | 逻辑型 | | |
unicode_result | 字节集 | | |
s | 文本型 | | |
temp | 字节集 | | |
如果真 (是否为空 (符号
))

符号 =
“\u”unicode_result = { }u =
编码_Utf8到Unicode (UTF8文本
)
如果真 (取字节集右边 (u, 2
) =
{ 0, 0
})
u =
取字节集左边 (u,
取字节集长度 (u
) - 2
)
变量循环首 (1,
取字节集长度 (u
), 2, n
)
k = u
[n
] +
左移 (u
[n + 1
], 8
)
transform = 真

如果真 (k ≤ 159
且 取反 (k ≥ 0
且 k ≤ 31
或 k ≥ 127
且 k ≤ 159
))


transform = 假



如果真 (k ≥ 13312
且 k ≤ 19893
或 k ≥ 19968
且 k ≤ 40869
或 k ≥ 63744
且 k ≤ 64045
) 

transform = 假



判断 (transform =
假)

unicode_result = unicode_result +
取字节集中间 (u, n, 2
)



s = 符号


s = s +
__Byte_To_Hex (u
[n + 1
])

s = s +
__Byte_To_Hex (u
[n
])

temp =
编码_Utf8到Unicode (到字节集 (到小写 (s
))
)

如果真 (取字节集右边 (temp, 2
) =
{ 0, 0
})


temp =
取字节集左边 (temp,
取字节集长度 (temp
) - 2
)
unicode_result = unicode_result + temp

变量循环尾 ()返回 (编码_Unicode到Ansi (unicode_result
))
变量名 | 类 型 | 静态 | 数组 | 备 注 |
u | 字节集 | | |
n | 整数型 | | |
k | 整数型 | | |
transform | 逻辑型 | | |
s | 字节集 | | |
temp | 字节集 | | |
v | 整数型 | | |
j | 整数型 | | |
seq | 文本型 | | |
new | 字节集 | | |
utf8 | 字节集 | | |
如果真 (是否为空 (符号
))

符号 =
“\u”u = 编码_Ansi到Unicode (文本)
如果真 (取字节集右边 (u, 2
) =
{ 0, 0
})
u =
取字节集左边 (u,
取字节集长度 (u
) - 2
)s = 编码_Ansi到Unicode (符号)
如果真 (取字节集右边 (s, 2
) =
{ 0, 0
})
s =
取字节集左边 (s,
取字节集长度 (s
) - 2
)n = 0
判断循环首 (真)
n =
寻找字节集 (u, s, n
)
如果真 (n = -1
)
跳出循环 ()
k = n + 取字节集长度 (s)
transform = 假

seq =
“”
变量循环首 (k, k + 8 - 1, 2, j
)

v = u
[j
] +
左移 (u
[j + 1
], 8
)

如果真 (取反 (v ≥ 97
且 v ≤ 102
或 v ≥ 65
且 v ≤ 70
或 v ≥ 48
且 v ≤ 57
))


跳出循环 ()
transform = 真

seq = seq +
字符 (v
)
变量循环尾 ()
如果真 (取文本长度 (seq
) ≠ 4
)

transform = 假



判断 (transform
)

new =
到字节集 (__Byte_From_Hex (取文本右边 (seq, 2
))
) +
到字节集 (__Byte_From_Hex (取文本左边 (seq, 2
))
)

u =
字节集替换 (u, n,
取字节集长度 (s
) + 8, new
)

n = 0




n = k


判断循环尾 ()utf8 =
编码_Unicode到Utf8 (u
)
如果真 (取字节集右边 (utf8, 1
) =
{ 0
})
utf8 =
取字节集左边 (utf8,
取字节集长度 (utf8
) - 1
)返回 (utf8)变量名 | 类 型 | 静态 | 数组 | 备 注 |
hi | 整数型 | | |
lo | 整数型 | | |
s | 文本型 | | |
s =
“0123456789abcdef”hi = Byte ÷ 16 + 1
lo = Byte % 16 + 1
返回 (取文本中间 (s, hi, 1
) +
取文本中间 (s, lo, 1
))
|
__Byte_From_Hex | 字节型 | |
|
ByteHex | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
hi | 整数型 | | |
lo | 整数型 | | |
s | 文本型 | | |
s =
“0123456789abcdef”hi =
寻找文本 (s,
取文本左边 (到小写 (ByteHex
), 1
), ,
假) - 1
lo =
寻找文本 (s,
取文本右边 (到小写 (ByteHex
), 1
), ,
假) - 1
返回 (左移 (hi, 4
) + lo
)