Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encoding 编码与转义相同吗?_Encoding_Escaping_Theory - Fatal编程技术网

Encoding 编码与转义相同吗?

Encoding 编码与转义相同吗?,encoding,escaping,theory,Encoding,Escaping,Theory,我对编码是否与逃逸相同的理论感兴趣?根据维基百科 转义字符是一个字符 这需要另一种选择 对嗣后法律的解释 字符序列中的字符 我目前的想法是,它们是不同的。转义是指在元字符前面放置转义字符,以将其标记为与正常情况下的行为不同 另一方面,编码就是将数据转换成另一种形式,当需要读取原始内容时,它会被解码回原始形式。转义是编码的一个子集:您只需通过在特殊字符前加前缀而不是传输(通常是全部或多个)来编码某些字符将字符转换为另一个表示形式 转义示例: 在SQL语句中:。。。其中name='O\'Reill

我对编码是否与逃逸相同的理论感兴趣?根据维基百科

转义字符是一个字符 这需要另一种选择 对嗣后法律的解释 字符序列中的字符

我目前的想法是,它们是不同的。转义是指在元字符前面放置转义字符,以将其标记为与正常情况下的行为不同


另一方面,编码就是将数据转换成另一种形式,当需要读取原始内容时,它会被解码回原始形式。

转义是编码的一个子集:您只需通过在特殊字符前加前缀而不是传输(通常是全部或多个)来编码某些字符将字符转换为另一个表示形式

转义示例:

  • 在SQL语句中:。。。其中name='O\'Reilly'
  • 在shell中:
    ls三十秒\*
  • 许多编程语言:
    “Test\”
    string(或
    “Test”
编码示例:


  • 它们确实不同


    你说得很对。

    它们是不同的,我认为你的区别是正确的


    编码是指将文本的逻辑表示形式(“逻辑字符串”,例如Unicode)转换为定义良好的二进制数字序列(“物理字符串”,例如ASCII、UTF-8、UTF-16)。转义是一个特殊字符(通常为反斜杠:“\”),它启动对字符的不同解释在转义字符之后;当需要将较大数量的符号编码为较小数量的不同(和有限)符号时,转义是必要的位序列。

    Hmm,你能详细说明一下吗?我不认为编码要求你对所有字符进行编码;例如,HTML编码只对部分内容进行编码。澄清一下,我之前的定义确实不精确。那么为什么JS函数“escape”将数据转换成另一种形式,然后你必须“unescape”“你想得到原始内容吗?似乎更像这个问题中编码的定义