首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

硬回車、軟回車與 Java 轉義字元完整對照表

     編輯:Java 相關知識

文字處理、網頁編輯與程式開發中常混淆「硬回車」(Hard Return) 與「軟回車」(Soft Return)。本文釐清兩者差異、編碼表示,並提供 Java 轉義字元完整參考表。

硬回車 vs 軟回車

Java 轉義字元完整對照表

特性硬回車 (Hard Return)軟回車 (Soft Return)
別名段落標記、Paragraph Mark換行符、Line Break
產生方式按 Enter按 Shift+Enter (Word/HTML 編輯器)
語義結束當前段落,開始新段落單純換行,不結束段落
編碼 (Windows)\r\n (0x0D 0x0A, CR+LF)\n (0x0A, LF)
編碼 (Unix/Linux/Mac OS X)\n (0x0A, LF)\n (0x0A, LF)
編碼 (Classic Mac OS 9-)\r (0x0D, CR)\r (0x0D, CR)
HTML 表示<p>...</p> 區塊<br /> 或 <br>
Word 顯示¶ 符號 (顯示/隱藏切換)↓ 箭頭符號 (顯示/隱藏切換)
排版行為段落間距、縮進、樣式生效僅換行,套用同段落格式

Java 中換行的跨平台寫法

// 方式 1:系統屬性 (推薦)
String newline = System.getProperty("line.separator"); // Windows: \r\n, Unix: \n

// 方式 2:Java 7+ 系統行分隔符
String newline = System.lineSeparator();

// 方式 3:String.format 格式化
String text = String.format("第一行%n第二行%n第三行"); // %n 自動對應平台換行

// 方式 4:PrintWriter/PrintStream 自動處理
PrintWriter pw = new PrintWriter(new FileWriter("test.txt"));
pw.println("第一行"); // 自動輸出平台換行符
pw.println("第二行");

常見場景處理建議

  • 讀取文字檔:使用 BufferedReader.readLine() 自動處理 \n/\r\n/\r
  • HTTP 協議:標頭必須以 \r\n 結束 (RFC 7230)
  • Windows 文字檔互通:寫入時明確使用 \r\n 或 System.lineSeparator()
  • 正則表達式匹配換行:\\r?\\n|\\r 涵蓋三種格式
  • GUI 文字區域:JTextArea 內部統一用 \n,顯示時自動轉換

結語

理解硬/軟回車語義差異與平台編碼變化,是跨平台文字處理的基礎。Java 提供 System.lineSeparator() 抽象平台差異,配合標準 I/O 類別自動處理,開發者應避免硬編碼 \r\n 或 \n,確保應用在 Windows、Linux、Mac 上行為一致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
轉義序列Unicode 碼位名稱說明
\bU+0008Backspace (BS)退格/Backspace
\tU+0009Horizontal Tab (HT)水平製表符/Tab
\nU+000ALine Feed (LF)換行/新行 (Unix 換行符)
\fU+000CForm Feed (FF)換頁/走紙
\rU+000DCarriage Return (CR)回車/歸位 (Mac OS 9 換行符)
\"U+0022Quotation Mark雙引號
\'U+0027Apostrophe單引號
\\U+005CReverse Solidus反斜線
\ddd-Octal Escape1-3 位八進制 (如 \101 = 'A')
\uxxxx-Unicode Escape4 位十六進制 (如 \u0041 = 'A')