Tất cả các nhân vật thoát là gì?


118

Tôi biết một số ký tự thoát trong Java, ví dụ:

\n : Newline
\r : Carriage return
\t : Tab
\\ : Backslash
...

Có một danh sách đầy đủ ở đâu đó không?


11
Đây là trong ngôn ngữ Java Spec
skaffman

2
Đừng đặt câu hỏi trên Internet về những thứ bạn có thể dễ dàng hoặc dễ dàng hơn, hãy tự tìm kiếm. Bạn có nguy cơ mắc lỗi nghiêm trọng.
Marquis of Lorne

Câu trả lời:


184

Bạn có thể tìm thấy danh sách đầy đủ ở đây .

  • \t Chèn một tab trong văn bản tại điểm này.
  • \b Chèn một backspace trong văn bản tại điểm này.
  • \n Chèn một dòng mới trong văn bản tại điểm này.
  • \r Chèn một ký tự xuống dòng trong văn bản tại điểm này.
  • \f Chèn một nguồn cấp dữ liệu trong văn bản tại điểm này.
  • \' Chèn một ký tự trích dẫn duy nhất trong văn bản tại thời điểm này.
  • \" Chèn một ký tự dấu ngoặc kép trong văn bản tại điểm này.
  • \\ Chèn một ký tự gạch chéo ngược trong văn bản tại điểm này.

29
Danh sách này là mất tích Unicode và thoát bát phân: \ u1234 \ 012 \ 01 \ 0
Sampo


Nó cũng thiếu ký tự chuông \avà ký tự null \0.
bvdb

9
\akhông biên dịch trong javac 1.8.0_20:illegal escape character: String test = "\a";
Ehryk

3
"Các lần thoát Unicode được xử lý trước trước khi chạy trình biên dịch." - Mark Peters . Vì vậy, chúng khác với các thoát chuỗi tiêu chuẩn được liệt kê ở đây. Cảm ơn Jan đã nhận xét cho câu trả lời này
Josiah Yoder.

43
Java Escape Sequences:

\u{0000-FFFF}  /* Unicode [Basic Multilingual Plane only, see below] hex value 
                  does not handle unicode values higher than 0xFFFF (65535),
                  the high surrogate has to be separate: \uD852\uDF62
                  Four hex characters only (no variable width) */
\b             /* \u0008: backspace (BS) */
\t             /* \u0009: horizontal tab (HT) */
\n             /* \u000a: linefeed (LF) */
\f             /* \u000c: form feed (FF) */
\r             /* \u000d: carriage return (CR) */
\"             /* \u0022: double quote (") */
\'             /* \u0027: single quote (') */
\\             /* \u005c: backslash (\) */
\{0-377}       /* \u0000 to \u00ff: from octal value 
                  1 to 3 octal digits (variable width) */

Các Basic Multilingual Plane là các giá trị unicode từ 0x0000 - 0xFFFF (0 - 65535). Các mặt phẳng bổ sung chỉ có thể được chỉ định trong Java bằng nhiều ký tự: người thừa kế người Ai Cập A054 (đang nằm xuống) là U+1303F/ 𓀿và sẽ phải được chia thành "\uD80C\uDC3F"(UTF-16) cho chuỗi Java. Một số ngôn ngữ khác hỗ trợ mặt phẳng cao hơn với "\U0001303F".


Câu trả lời hiện có không giải quyết các chuỗi thoát unicode và bát phân trong Java.
Ehryk

2
\u000adường như không hoạt động -> - invalid character constant xem thêm ở đây
Ngày

6
@Jan Nó đang hoạt động, có lẽ quá tốt. Ví dụ, không giống như \r\n, các lần thoát unicode được xử lý trước trước khi chạy trình biên dịch như câu hỏi bạn đã liên kết để chỉ định. Như vậy, nó sẽ chèn một dòng chữ vào mã của bạn và không thành công vì nó. Tuy nhiên, mã thoát vẫn "hoạt động" như nó được dự định để hoạt động trong đặc tả.
Ehryk

0

Có, dưới đây là một liên kết của docs.Oracle, nơi bạn có thể tìm thấy danh sách đầy đủ các ký tự thoát trong Java.

Các ký tự thoát luôn đứng trước "\" và được sử dụng để thực hiện một số tác vụ cụ thể như chuyển sang dòng tiếp theo, v.v.

Để biết thêm chi tiết về nhân vật thoát Tham khảo liên kết sau:

https://docs.oracle.com/javase/tutorial/java/data/characters.html


0

Đây là các ký tự thoát được sử dụng để thao tác chuỗi.

\t  Insert a tab in the text at this point.
\b  Insert a backspace in the text at this point.
\n  Insert a newline in the text at this point.
\r  Insert a carriage return in the text at this point.
\f  Insert a form feed in the text at this point.
\'  Insert a single quote character in the text at this point.
\"  Insert a double quote character in the text at this point.
\\  Insert a backslash character in the text at this point.

Đọc thêm về chúng từ đây.

http://docs.oracle.com/javase/tutorial/java/data/characters.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.