codecamp

字符串字面量和类型

字符串文字用双引号或单引号("foo"or 'bar')编写,它们也可以分成多个连续的部分(相当于),这在处理长字符串时很有帮助。它们并不意味着 C 中的尾随零;代表三个字节,而不是四个。与整数文字一样,它们的类型可能会有所不同,但它们可以隐式转换为, ..., ,如果它们适合,则可以转换为和。"foo" "bar""foobar""foo"bytes1bytes32bytesstring

例如,字符串文字在分配给类型时以其原始字节形式解释。bytes32 samevar = "stringliteral"bytes32

字符串文字只能包含可打印的 ASCII 字符,即 0x20 .. 0x7E 之间的字符。

此外,字符串文字还支持以下转义字符:

  • \<newline>(转义一个实际的换行符)
  • \\(反斜杠)
  • \'(单引号)
  • \"(双引号)
  • \n(新队)
  • \r(回车)
  • \t(标签)
  • \xNN(十六进制转义,见下文)
  • \uNNNN(unicode转义,见下文)

\xNN采用十六进制值并插入适当的字节,同时\uNNNN采用 Unicode 代码点并插入 UTF-8 序列。

笔记

在 0.8.0 版本之前,还有三个额外的转义序列\b:\f和\v. 它们通常以其他语言提供,但在实践中很少需要。如果您确实需要它们,它们仍然可以像任何其他 ASCII 字符一样分别通过十六进制转义符插入,\x08即\x0c 和。\x0b

以下示例中的字符串长度为 10 个字节。它以换行字节开头,后跟双引号,单引号和反斜杠字符,然后(不带分隔符)字符序列abcdef。

"\n\"\'\\abc\
def"

任何不是换行符的 Unicode 行终止符(即 LF、VF、FF、CR、NEL、LS、PS)都被视为终止字符串文字。换行符仅在字符串文字前面没有 . 时才终止\。


有理数和整数字面量
Unicode 字面量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }