斷行符號和換行有什麼區別?我們平時按下的Enter鍵是斷行符號還是換行?[轉貼]

來源:互聯網
上載者:User

引言:在看symfony
源碼的時候,發現了$value= str_replace(array("/r/n", "/r"), "/n", $value);

 

斷行符號和換行有什麼區別呢?

(Link: http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_12317.html
)

 

/n是換行,英文是linefeed,ASCII碼是0xA。
/r是斷行符號,英文是carriage return ,ASCII碼是0xD。

如果用過機械打字機,就知道斷行符號和換行的區別了。。。
  換行就是把滾筒卷一格,不改變水平位置。  
  斷行符號就是把水平位置複位,不捲動滾筒。

但是我們平時按得Enter到底是斷行符號還是換行,不太清楚??
看到一種說法:windows下enter是 /n/r,unix下是/n,mac下是/r

在MS的系統中純文字格式按一個斷行符號鍵是輸入了兩個字元,一個斷行符號一個換行。在LINUX系統中則只是一個斷行符號。
//以上內容參考了http://topic.csdn.net/t/20040617/23/3101951.html
#和http://topic.csdn.net/t/20021113/09/1171659.html
的討論  

還有在編程時檔案操作

wb(二進位方式)或者wt(文本方式)也會有影響。我做了個實驗(實驗用.net2003)
在01.txt檔案中輸入12然後enter,在ultraedit中看到的二進位是31 32 0d 0a

然後程式如下:

int mian()
{  FILE   *fp1,*fp2,*fp3,*fp4,*fp5,*fp6;  
 
  char a[10];
  char b[10];
  
  fp1   =   fopen("01.txt","r");
 
  fp3   =   fopen("02.txt","w");
  fread(a,sizeof(unsigned char),8,fp1);       //a裡是31 32 0a
 
fwrite(a,sizeof(unsigned char),8,fp3);      //02.txt裡是31 32 0d 0a 
 ,原因是輸入的情況下,換行斷行符號轉換成換行,然後輸出時換行又會轉成換行斷行符號



  fclose(fp1);
  fclose(fp3);

  fp2   =   fopen("01.txt","rb");
 
fp4   =   fopen("03.txt","wb");

  fread(b,sizeof(unsigned char),8,fp2);      //b裡是31 32 0d 0a

  fwrite(b,sizeof(unsigned char),8,fp4);      //03.txt裡是31 32 0d 0a ,原因是
二進位情況下斷行符號和換行的(類似文本方式的那種轉換)是不存在的

 fclose(fp2);
  fclose(fp4);

  return   0; 
}
好像結論是這樣的:讀的方式下,在文本方式下,enter是0x0a;在二進位方式下,enter是0x0d,0x0a。

MSDN中查到這樣的話:Also, in text mode, carriage return–linefeed
combinations are translated into single linefeeds on input, and
linefeed characters are translated to carriage return–linefeed
combinations on output. (輸入的情況下,換行斷行符號轉換成換行,然後輸出時換行又會轉成換行斷行符號)When a
Unicode stream-I/O function operates in text mode (the default), the
source or destination stream is assumed to be a sequence of multibyte
characters. Therefore, the Unicode stream-input functions convert
multibyte characters to wide characters. For the same reason, the
Unicode stream-output functions convert wide characters to multibyte
characters.

Open in binary (untranslated) mode; translations involving
carriage-return and linefeed characters are suppressed.
(二進位情況下斷行符號和換行的轉換是不存在的).

再引用一篇:http://zhidao.baidu.com/question/27868102.html?fr=qrl3

軟硬斷行符號 }

硬斷行符號就是普通我們按斷行符號產生的,它在換行的同時也起著段落分隔的作用。
軟斷行符號是用 Shift + Enter 產生的,它換行,但是並不換段,即前後兩段文字在 Word 中屬於同一“段”。在應用格式時你會體會到這一點。

切換:

編輯——替換,點擊進階,在“尋找內容”點入“特殊字元”中的手動分行符號,再在“替換為”中點入“特殊字元”中的段落標記,最後點擊全部替換。

鍵盤上只有一種斷行符號鍵Enter,但卻有兩種不同性質的換行標記,不能不說是一個奇蹟。


們常用的斷行符號是硬斷行符號,就是在word中敲擊Enter鍵產生的那個彎曲的小箭頭,佔兩個位元組。這種斷行符號可以有效地把段落標記出來分清楚。在兩個硬斷行符號之
間的文字自成一個段落,可以對它單獨設定段落標記而不用擔心其他段落受到影響。這也是我們習慣用硬斷行符號的原因:排版方便。

但是硬斷行符號
也給我們帶來了麻煩。你如果是網頁設計者,或者是論壇遊俠,一定有這樣的經曆:當你打算換行時,換出的行卻實在不能恭維,行間距太大了!其實這和硬斷行符號的
原理是一樣的,只不過在word等文字編輯器中沒有顯示出它的“本來面目”。不過這樣的排版的確造成了不小的困難,這時我們就得請出硬斷行符號的兄弟:軟回
車。

軟斷行符號只佔一個位元組,在word中是一個向下的箭頭。如果你從很複雜的網頁中向word中複製過文字的話,對它一定不會陌生。但
是想在word中直接輸入軟斷行符號可不是那麼容易的。因為軟斷行符號不是真正的段落標記,它只是另起了一行,不是分段。所以它不是很利於文字排版,因為它無法作
為單獨的一段被賦予特殊的格式。但是儘管如此,它在網頁設計中還是具有舉足輕重的地位的。

軟斷行符號能使前後兩行的行間距大幅度縮小,因
為它不是段落標記,要和法定的段落標記——硬斷行符號區別出來。硬斷行符號的html代碼是<p>..</p>,段落的內容就夾在裡面,
而軟斷行符號的代碼很精悍:<br>。因此在網頁中想用到軟斷行符號,只需切換到字碼頁面,鍵入軟斷行符號的代碼即可。
下面我講一下不同編輯器文字互相拷貝時斷行符號的轉化情況。

地球人都知道的,網頁的文字如果複製到word中,則硬斷行符號變為彎曲的箭頭,軟斷行符號變為向下的箭頭。結果造成習慣用word編輯文本的朋友很不習慣很不舒服的情況。

word中的文本複製到網頁中也是同樣的道理。可以說word和網頁比較相容的,要不怎麼會有“儲存為web頁”這種選項呢?


事本也是大家摸的比較多的編輯器。但是近年來隨著社會發展外加記事本的種種弊端,許多人都將其打入冷宮。對此我只能表示遺憾,因為記事本本身的功能不豐富
就是別的編輯器所取代不了的優點。大家再次將網頁的文字複製時,不妨粘貼到記事本裡試試。哈哈,不管網頁設計者用的是什麼斷行符號,現在都變成一種斷行符號了!怎
麼,你不信?那就看看吧:軟斷行符號變成了普通的斷行符號,硬斷行符號變成了兩個普通的斷行符號。你再從記事本裡複製文字到word,記事本裡的斷行符號無一例外全都變成了硬
斷行符號!你再再從記事本裡複製文字到網頁編輯器,所有斷行符號就都變成軟斷行符號了!!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.