|
发表于 2023-9-27 09:32:40
|
显示全部楼层
江苏省苏州市
|
文本_转义解析 | 整数型 | | |
已转义的文本 | 文本型 | | | | 返回文本 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 字节集 | 字节集 | | | 解析文本偏移指针 | 整数型 | | | 解析文本指针 | 整数型 | | | i | 整数型 | | | 转义状态 | 逻辑型 | | | 循环次数 | 整数型 | | | 当前字节 | 字节型 | | | 转码汉字 | 字节集 | | | asci汉字 | 文本型 | | | u转义状态 | 字节型 | | | 找到位置 | 字节型 | | | 十进制数 | 字节型 | | | 完全转换 | 逻辑型 | | | c | 整数型 | | |
字节集 = 到字节集 (已转义的文本 )asci汉字 = 取空白文本 (2 )转码汉字 = 取空白字节集 (4 ) 循环次数 = 取字节集长度 (字节集 )解析文本指针 = 申请内存 (循环次数 + 1, 假)解析文本偏移指针 = 解析文本指针 判断循环首 (真)  i = i + 1  如果真 (i > 循环次数 ) 跳出循环 () 当前字节 = 字节集 <i> 判断 (转义状态 = 假)  如果 (当前字节 = 92 )   转义状态 = 真   写到内存 (当前字节, 解析文本偏移指针, )   解析文本偏移指针 = 解析文本偏移指针 + 1      判断 (u转义状态 > 0 )   找到位置 = 寻找文本 (“0123456789ABCDEF”, 字符 (当前字节 ), , 真) - 1   如果真 (找到位置 = 254 )    i = i - u转义状态    u转义状态 = 0    转义状态 = 假    c = c + 1   写到内存 (“\u”, 解析文本偏移指针, )   解析文本偏移指针 = 解析文本偏移指针 + 2   到循环尾 ()  判断 (u转义状态 = 1 )   十进制数 = 找到位置 × 16   判断 (u转义状态 = 2 )   十进制数 = 十进制数 + 找到位置    转码汉字 [2 ] = 十进制数   判断 (u转义状态 = 3 )   十进制数 = 找到位置 × 16    十进制数 = 十进制数 + 找到位置    转码汉字 [1 ] = 十进制数   W2A_ (0, 0, 转码汉字, 1, asci汉字, 2, 0, 完全转换 )   c = c + 1   写到内存 (asci汉字, 解析文本偏移指针, )   解析文本偏移指针 = 解析文本偏移指针 + 2    u转义状态 = 0    转义状态 = 假   到循环尾 ()  u转义状态 = u转义状态 + 1 到循环尾 ()  判断 (当前字节 = #字符码_小写u )  u转义状态 = 1  到循环尾 ()  判断 (当前字节 = 114 )   c = c + 1  写到内存 (字符 ( #字符码_回车 ), 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  判断 (当前字节 = 110 )   c = c + 1  写到内存 (字符 ( #字符码_换行 ), 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  判断 (当前字节 = 116 )   c = c + 1  写到内存 ( #制表符, 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  判断 (当前字节 = 98 )   c = c + 1  写到内存 (字符 (8 ), 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  判断 (当前字节 = 102 )   c = c + 1  写到内存 (字符 ( #字符码_换页 ), 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  判断 (当前字节 = #字符码_斜杆 或 当前字节 = #字符码_反斜杆 或 当前字节 = #字符码_引号 )  c = c + 1  写到内存 (当前字节, 解析文本偏移指针, )  解析文本偏移指针 = 解析文本偏移指针 + 1  写到内存 (“\” + 字符 (当前字节 ), 解析文本偏移指针, )   解析文本偏移指针 = 解析文本偏移指针 + 2 转义状态 = 假  判断循环尾 ()写到内存 ({ 0 }, 解析文本偏移指针, )释放内存 (取变量数据地址 (返回文本 )) 写到内存 (解析文本指针, 取变量地址 (返回文本 ), )返回 (c ) |
|