gpt4 book ai didi

javascript - String.replace() 不同编码的情况

转载 作者:行者123 更新时间:2023-12-03 01:19:18 25 4
gpt4 key购买 nike

当我在来自不同的响应消息(lambda 函数回调)上使用 JSON.stringfy().replace(/[\t\r\n]/g,"").trim() 时系统我遇到一个问题,其中 \t 将替换为 \\t\ 替换为 \\\

有办法避免这种情况吗?

我尝试搜索答案,但只找到了基本案例的文章。

最佳答案

JSON.stringify 的具体用途是将您提供的内容转换为 JSON。如果您提供的是一个包含反斜杠的字符串,那么您将返回的是该字符串的 JSON 表示形式,即用双引号 (") 括起来的字符串,其中包含任何特殊字符,如反斜杠、用反斜杠转义、换行符转换为\n、回车符转换为\r等。

示例:

const str = document.querySelector("input").value;
console.log("The string:", str);
console.log("JSON.stringify's output:", JSON.stringify(str));
<input type="text" value="This string has a backslash in it: \ For instance, here's a backslash followed by a t: \t">

这就是 JSON.stringify 的作用。如果您不希望这样,请不要使用 JSON.stringify

<小时/>

...in case of different encodings

这部分是无关紧要的。当您处理 JavaScript 字符串时,使用什么编码来表示该字符串(在 HTML 文件、.js 文件等中)并不重要。一旦进入内存,它就采用该语言定义的 JavaScript 字符串的一种格式(即 essentially UTF-16 ,除非允许无效的代理项对)。

关于javascript - String.replace() 不同编码的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com