gpt4 book ai didi

java - 为什么我不需要在 String 声明中转义像\037 这样的 ASCII 字符?

转载 作者:行者123 更新时间:2023-11-29 08:35:59 25 4
gpt4 key购买 nike

我知道“”是Java中的转义字符。所以我的理解是,每当我声明一个包含特殊字符的字符串时,我都需要用“”来转义它。例如:

String backSlash = "\\";

我必须为 ascii 字符\037 创建一个字符串,显然我不需要用“”来转义它。

String delimiter = "\037"; // enough                                   
String delimiter = "\\037"; // not needed and wrong

这是为什么?

最佳答案

My understanding is that whenever I declare a string which contain special characters I need to escape it by "\"

您的理解不完整:Java 字符串文字中的反斜杠 \ 可以引入转义序列 one of three types :

  • 特殊字符转义 - 这包括 \b\t\n\f\r\'\"\\
  • Unicode escape - 以 \u 开头且最多有四个十六进制数字的序列
  • Octal escape - 以 \ 开头且具有 0 到 377 之间的八进制数的序列8 以 0 开头

您的示例具有第三种序列(八进制)。

关于java - 为什么我不需要在 String 声明中转义像\037 这样的 ASCII 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096553/

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