了解二进制字符串定界符
Understanding binary String delimiters
我对
编码之间的区别感到困惑
- 用
\x
表示,就像\x68\x65\x6c\x6c\x6f
对
- 使用
\u
的,例如\u0068\u0065\u006c\u006c\u006f
。
我一直在研究 https://convertcodes.com/unicode-converter-encode-decode-utf/,似乎 UTF-16 使用 \u
而 UTF-8 使用 \x
,但我从其他来源读到\x
不特定于 UTF-8,\u
不特定于 UTF-16。有什么区别,两种编码都可以使用这两个定界符吗?此外,这个问题的标题是否正确?这些可以称为二进制定界符吗?示例字符串(\x68\x65\x6c\x6c\x6f
和 \u0068\u0065\u006c\u006c\u006f
)是否被视为二进制字符串、BLOB 或其他?这些类型的字符串的正确名称是什么?
一切完全取决于谁来解释它,因此意味着最少的上下文:
- JSON 只知道
\u
(未绑定到特定的 UTF 编码)并且总是需要 4 位数字,不知道 \x
,并且必须包含字符串文字在 "double quotation marks"
.
只有在使用 "double quotation marks"
用于字符串文字。
- MySQL knows neither of those escape sequences, and String literals can either be in
'single quotation marks'
or "double quotation marks"
. One must use hexadecimal literals分别。这与使用的任何编码无关。
- C++ knows
\x
(expecting 2 digits), \u
(expecting 4 digits) and \U
(expecting 8 digits), which in conjunction with a String's literal prefix 然后根据编码有不同的结果。字符串文字总是在 "double quotation marks"
中,单字符文字总是在 'single quotation marks'
. 中
- Perl regular expressions 知道
\x
(期望 2 位数字)和 \N
(期望代码点)。不同的 RegEx 风格有不同的支持,有些还接受 4 位数字的 \x
。大多数 \x
绑定到输入编码(有时隐含在 UTF-8 的 u
修饰符中)。
另请参阅:什么是 String literal。
我对
编码之间的区别感到困惑- 用
\x
表示,就像\x68\x65\x6c\x6c\x6f
对 - 使用
\u
的,例如\u0068\u0065\u006c\u006c\u006f
。
我一直在研究 https://convertcodes.com/unicode-converter-encode-decode-utf/,似乎 UTF-16 使用 \u
而 UTF-8 使用 \x
,但我从其他来源读到\x
不特定于 UTF-8,\u
不特定于 UTF-16。有什么区别,两种编码都可以使用这两个定界符吗?此外,这个问题的标题是否正确?这些可以称为二进制定界符吗?示例字符串(\x68\x65\x6c\x6c\x6f
和 \u0068\u0065\u006c\u006c\u006f
)是否被视为二进制字符串、BLOB 或其他?这些类型的字符串的正确名称是什么?
一切完全取决于谁来解释它,因此意味着最少的上下文:
- JSON 只知道
\u
(未绑定到特定的 UTF 编码)并且总是需要 4 位数字,不知道\x
,并且必须包含字符串文字在"double quotation marks"
.
只有在使用 - MySQL knows neither of those escape sequences, and String literals can either be in
'single quotation marks'
or"double quotation marks"
. One must use hexadecimal literals分别。这与使用的任何编码无关。 - C++ knows
\x
(expecting 2 digits),\u
(expecting 4 digits) and\U
(expecting 8 digits), which in conjunction with a String's literal prefix 然后根据编码有不同的结果。字符串文字总是在"double quotation marks"
中,单字符文字总是在'single quotation marks'
. 中
- Perl regular expressions 知道
\x
(期望 2 位数字)和\N
(期望代码点)。不同的 RegEx 风格有不同的支持,有些还接受 4 位数字的\x
。大多数\x
绑定到输入编码(有时隐含在 UTF-8 的u
修饰符中)。
"double quotation marks"
用于字符串文字。
另请参阅:什么是 String literal。