TC官方合作论坛

标题: 命令:字符串转数组 存在BUG [打印本页]

作者: 忆辰辅助    时间: 2015-4-27 15:58
标题: 命令:字符串转数组 存在BUG
  1.     变量 测试 = 数组()
  2.     测试["no"] = 0
  3.     测试["error"] = "\\u6210\\u529f"
  4.     变量 测试字符串 = 数组转字符串(测试)
  5.     调试输出(测试字符串)

  6.     变量 ret = 字符串转数组(测试字符串)
  7.     如果(是否数组(ret))
  8.         调试输出(ret)
  9.     否则
  10.         调试输出("不是数组")
  11.     结束
  12.    
  13.     返回 0
复制代码
测试代码如上
字符串中存在\会导致字符串转数组失败

作者: kevinqq    时间: 2015-4-27 17:06
在TC里面要注意转义字符  \\ \t \" \"
作者: 忆辰辅助    时间: 2015-4-28 07:46
kevinqq 发表于 2015-4-27 17:06
在TC里面要注意转义字符  \\ \t \" \"

那按照你的说法是没问题了?
作者: kevinqq    时间: 2015-4-28 11:57
这个里面主要 \这个符号 要特殊处理 需要 \\\\才能正确转换
作者: 忆辰辅助    时间: 2015-4-28 13:01
kevinqq 发表于 2015-4-28 11:57
这个里面主要 \这个符号 要特殊处理 需要 \\\\才能正确转换

按照你的说法指令没错
“也要转换成\"?
作者: kevinqq    时间: 2015-4-28 14:18
   
    变量 ret = 字符串转数组("array(\"no\"=0,\"error\"=\"\\\\u6210\\\\u529f\")")需要这样子写

作者: 忆辰辅助    时间: 2015-4-28 16:22
kevinqq 发表于 2015-4-28 14:18
变量 ret = 字符串转数组("array(\"no\"=0,\"error\"=\"\\\\u6210\\\\u529f\")")需要这样子写
...

你仔细看一下我发的代码,字符串转数组用的字符串是数组转字符串得来的,不能这样逆推回去你不觉得很不合理么




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1