为什么 qwen 在 firefox 复制出来的内容是一个 json?

图片.png

在 qwen 的回答里面,ctrl+c 复制一个东西,在 qwen 自己的输入框再 ctrl+v 粘贴就会变成 {"version":1,"isFromEmptySelection":false,"multicursorText":null,"mode":null}

复制到其他地方,都是正常的,只有复制到 qwen 自己的输入框才会这样。从其他非qwen的地方复制,粘贴qwen 的输入框也是正常的。只有从 qwen 的回答使用 ctrl+c复制(从代码块中),粘贴到 qwen 的输入框才会这样

直接使用 qwen 内置的复制也是没问题的

图片.png

阅读 815
1 个回答

这个问题我复现了,在我自己的 windows下的firefox浏览器,chat.qwen.ai的提问回答中和题主一样。
关于这个问题的回答分两个部分:
第一个部分,复制内容:

  1. 复制到粘贴板的内容是:我选择了一段代码中的内容,按下ctrl+c复制,通过win+v可以看到windows 的剪切板中代码是没问题的
  2. 选择一段非代码内容,按下CTRL+c复制,也查看windows的剪切板,发现也没有问题
    综合上述情况,得出结论一:你不论是复制代码还是复制非代码,系统都可以正常解析文本内容,并保留到系统剪切板。
    第二个部分,粘贴测试:
    既然第一部分的复制是正常的,那么就把代码和非代码都粘贴到不同的地方:
  3. 都粘贴到千问的提问框:非代码正常,代码不正常
  4. 粘贴到其他的输入文本的地方,如notepad,正常
    所以,问题出现在了你把这段文本粘贴到qwen输入框的时候。

接下来再说一下千问的输出:改回答来自千问,输出内容实际是markdown的文本。

再说一下这段内容:{"version":1,"isFromEmptySelection":false,"multicursorText":null,"mode":null}

这是一段在复制浏览器内容(web)时,由浏览器插入的元信息,因为浏览器支持富文本,为了避免一些编码问题,在浏览器复制内容是,浏览器可能会自动插入这样一段信息。也就是说这一段信息是在你复制代码时被插入进来的,但是不会在复制其他文本时插入。

然后是输入框的粘贴:可能是算法bug,在粘贴的时候未能正确处理这样一段元信息,导致把该信息当中内容粘贴了。

c字符串有个特点,'\0'表示结束,可以理解你其实复制了那个文本内容,但是在改内容之前插入了一段文本,该文本以'\0'结束,在别人用的时候,本应先跳过这一段,但是这里没有,所以就粘贴了这样一段信息。

以上内容部分来自gpt,部分是个人理解。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题