|
本帖最后由 萧阳天 于 2015-8-4 23:44 编辑
原精易模块里的编码_Ansi到Unicode命令如果中间有字母数字 后面的Ansi会无法继续转换到Unicode
下面是修改后的代码
|
编码_Ansi到Unicode | 字节集 | | |
Ansi | 文本型 | | | | 非标准Unicode编码 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据2 | 字节集 | | | 长度 | 整数型 | | | 字节集 | 字节集 | | | 计次 | 整数型 | | | 临时文本 | 文本型 | | | 是否有数字字母 | 逻辑型 | | | 临时数组 | 文本型 | | 0 | 临时计次 | 整数型 | | | 如果真 (Ansi = “”)返回 ({ })字节集 = 到字节集 (Ansi)临时计次 = 0 临时文本 = Ansi 计次循环首 (取字节集长度 (字节集 ), 计次 )临时计次 = 临时计次 + 1 判断 (字节集 [计次 ] > 44 且 字节集 [计次 ] < 58 且 字节集 [计次 ] ≠ 47 ) 加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 )) 临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )临时计次 = 0 是否有数字字母 = 真 判断 (字节集 [计次 ] > 64 且 字节集 [计次 ] < 91 ) 加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 )) 临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )临时计次 = 0 是否有数字字母 = 真 判断 (字节集 [计次 ] > 96 且 字节集 [计次 ] < 123 ) 加入成员 (临时数组, 取文本左边 (临时文本, 临时计次 - 1 )) 临时文本 = 取文本右边 (Ansi, 取字节集长度 (字节集 ) - 计次 )临时计次 = 0 是否有数字字母 = 真 如果 (计次 = 取字节集长度 (字节集 ) 且 临时文本 ≠ “”)加入成员 (临时数组, 临时文本 )计次循环尾 ()如果 (是否有数字字母 = 假)长度 = MultiByteToWideChar (936, 0, Ansi, -1, { }, 0 )数据2 = 取空白字节集 (长度 × 2 )MultiByteToWideChar (936, 0, Ansi, -1, 数据2, 长度 × 2 )如果真 (非标准Unicode编码 )数据2 = 取字节集左边 (数据2, 取字节集长度 (数据2 ) - 2 )临时文本 = Ansi 计次循环首 (取数组成员数 (临时数组 ), 计次 )长度 = MultiByteToWideChar (936, 0, 临时数组 [计次 ], -1, { }, 0 )数据2 = 取空白字节集 (长度 × 2 )MultiByteToWideChar (936, 0, 临时数组 [计次 ], -1, 数据2, 长度 × 2 )如果真 (非标准Unicode编码 )数据2 = 取字节集左边 (数据2, 取字节集长度 (数据2 ) - 2 )临时文本 = 文本_替换 (临时文本, 1, , , 临时数组 [计次], 到文本 (数据2))计次循环尾 ()数据2 = 到字节集 (临时文本 )返回 (数据2)
|
|