|
发表于 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 ) |
|