哈哈,豆包要是能搞易语言那也是很不错了
变量名 类 型 静态 数组 备 注 十进制文本 文本型 明文 文本型
十进制文本 =
“243,4,0,0,15,3,115,0,27,229,164,167,229,132,146,50,53,57,51,55,48,57,40,231,130,185,229,135,187,230,148,185,229,144,141,41,5,105,0,0,0,16,6,108,0,0,0,0,0,0,0,0,7,108,0,0,0,0,0,0,58,86,2,105,0,45,159,32,37,115,0,8,87,90,52,52,54,229,140,186,40,115,0,0,41,98,1,43,115,0,6,233,187,152,232,174,164,45,115,0,0,46,98,1,44,98,1,20,108,0,0,0,0,0,0,48,248,38,115,0,13,228,184,190,228,186,186,229,162,131,54,233,152,182,255,107,35,40” 明文 =
十进制报文到明文 ( 十进制文本
) 信息框 ( “===== UTF8明文解析结果 =====” +
#换行符 + 明文, 0,
“解码结果” ) 数据 =
十进制文本到字节集 ( 十进制文本
) 返回 ( 字节集UTF8扫描到文本 ( 数据
) )
变量名 类 型 静态 数组 备 注 成员 文本型 0 数据 字节集 i 整数型 段 文本型 值 整数型
数据 =
{ } 如果真 ( 删首尾空 ( 十进制文本
) =
“” ) 返回 ( 数据
) 成员 = 分割文本 ( 十进制文本, “,” ) 计次循环首 ( 取数组成员数 ( 成员
) , i
) 段 =
删首尾空 ( 成员
[ i
] ) 如果真 ( 段 ≠
“” ) 值 =
到整数 ( 段
) 如果真 ( 值 < 0
或 值 > 255
) 数据 = 数据 +
{ 值
} 计次循环尾 ( ) 返回 ( 数据
) 变量名 类 型 静态 数组 备 注 结果 文本型 i 整数型 总长 整数型 b1 整数型 b2 整数型 b3 整数型 b4 整数型 一段 字节集 一段文本 文本型 码 整数型
结果 =
“” 总长 =
取字节集长度 ( 数据
) i = 1
判断循环首 ( i ≤ 总长
) b1 =
取字节集数据 ( 数据, i
) 如果真 ( b1 ≤ 127
) 如果真 ( b1 ≥ 32
且 b1 ≠ 127
) 结果 = 结果 +
字符 ( b1
) i = i + 1 到循环尾 ( ) 如果真 ( 是否UTF8续字节 ( b1
) )
i = i + 1
到循环尾 ( ) 如果真 ( b1 ≥ 192
且 b1 ≤ 223
) 如果真 ( b1 ≥ 194
且 i + 1 ≤ 总长
) b2 =
取字节集数据 ( 数据, i + 1
) 如果真 ( 是否UTF8续字节 ( b2
) )
一段 =
取字节集中间 ( 数据, i, 2
) 一段文本 =
UTF8字节集到本地文本 ( 一段
) 如果真 ( 一段文本 ≠
“” ) 码 =
取代码 ( 取文本左边 ( 一段文本, 1
) )
如果真 ( 码 > 31
且 码 ≠ 127
) 结果 = 结果 + 一段文本
i = i + 2 到循环尾 ( ) i = i + 1 到循环尾 ( ) 如果真 ( b1 ≥ 224
且 b1 ≤ 239
) 如果真 ( i + 2 ≤ 总长
) b2 =
取字节集数据 ( 数据, i + 1
) b3 =
取字节集数据 ( 数据, i + 2
) 如果真 ( 是否UTF8续字节 ( b2
) 且 是否UTF8续字节 ( b3
) )
一段 =
取字节集中间 ( 数据, i, 3
) 一段文本 =
UTF8字节集到本地文本 ( 一段
) 如果真 ( 一段文本 ≠
“” ) 码 =
取代码 ( 取文本左边 ( 一段文本, 1
) )
如果真 ( 码 > 31
且 码 ≠ 127
) 结果 = 结果 + 一段文本
i = i + 3 到循环尾 ( ) i = i + 1 到循环尾 ( ) 如果真 ( b1 ≥ 240
且 b1 ≤ 244
) 如果真 ( i + 3 ≤ 总长
) b2 =
取字节集数据 ( 数据, i + 1
) b3 =
取字节集数据 ( 数据, i + 2
) b4 =
取字节集数据 ( 数据, i + 3
) 如果真 ( 是否UTF8续字节 ( b2
) 且 是否UTF8续字节 ( b3
) 且 是否UTF8续字节 ( b4
) )
一段 =
取字节集中间 ( 数据, i, 4
) 一段文本 =
UTF8字节集到本地文本 ( 一段
) 如果真 ( 一段文本 ≠
“” ) 码 =
取代码 ( 取文本左边 ( 一段文本, 1
) )
如果真 ( 码 > 31
且 码 ≠ 127
) 结果 = 结果 + 一段文本
i = i + 4 到循环尾 ( ) i = i + 1 到循环尾 ( ) i = i + 1
判断循环尾 ( ) 返回 ( 结果
) 返回 ( 值 ≥ 128
且 值 ≤ 191
) UTF8字节集到本地文本 文本型 utf8数据 字节集
变量名 类 型 静态 数组 备 注 utf8长 整数型 宽长度 整数型 宽字节集 字节集 ansi长度 整数型 ansi字节集 字节集
utf8长 =
取字节集长度 ( utf8数据
) 如果真 ( utf8长 ≤ 0
) 返回 ( “” ) 宽字节集 =
取空白字节集 ( utf8长 × 2
) 宽长度 =
MultiByteToWideChar ( 65001, 0, utf8数据, utf8长, 宽字节集, utf8长
) 如果真 ( 宽长度 ≤ 0
) 返回 ( “” ) ansi字节集 =
取空白字节集 ( 宽长度 × 3
) ansi长度 =
WideCharToMultiByte ( 0, 0, 宽字节集, 宽长度, ansi字节集,
取字节集长度 ( ansi字节集
) , 0, 0
) 如果真 ( ansi长度 ≤ 0
) 返回 ( “” ) 返回 ( 到文本 ( 取字节集左边 ( ansi字节集, ansi长度
) )
)