2010-10-12 53 views
4

textarea的\ r \ n或\ N I已經在Firefox ubuntu下測試的代碼:大約在python

前端是一個textarea,在文本區域按下ENTER鍵,然後提交給服務器,

在後臺,你會得到發現\ r \ n串

r=request.POST.get("t") 
r.find("\r\n")>-1: 
    print "has \r\n" 

我的問題是,當我們將得到\ r \ n中,我們會得到\ n嗎?這是獨立於平臺的?

想用這個字符串作爲一個正則表達式來使用時,這是重要的,任何adivse歡迎

回答

5

是的,你是正確的,你正在處理一個特定於平臺的方式來編碼換行符:

  • 在Windows平臺上,一個換行通常被編碼爲\r\n
  • 在的Linux/Unix/OS X,一個換行通常被編碼爲\n

同樣,網絡瀏覽器傾向於支持這些約定:IE使用\r\n換行,而Safari和Firefox使用\n

作爲一種解決方案,考慮使用知道不同新行編碼的Python函數,例如,提供通用的換行支持。

舉例來說,如果你想將一個字符串分解成線,用splitlines:

lines = r.splitlines()