該字符串始發作爲從返回值:爲什麼當字符串被保存到文件時 r n被轉換爲 n?
> msg = imap.uid_fetch(uid, ["RFC822"])[0].attr["RFC822"]
在如果I型MSG控制檯,一個長的字符串被顯示雙引號和\ r \ n分隔每個行:
> msg
"Delivered-To: [email protected]\r\nReceived: by xx.xx.xx.xx with SMTP id;\r\n"
如果我有一個正則表達式匹配它的一部分,返回值\ r \ n爲
> msg[/Delivered-To:.*?\s+Received:/i]
=> "Delivered-To: [email protected]\r\nReceived:"
如果我的字符串保存到一個文件,讀回並用相同的正則表達式匹配它,我得到\ n而不是\ r \ n:
> File.write('test.txt', msg)
> str = File.read('test.txt')
> str[/Delivered-To:.*?\s+Received:/i]
=> "Delivered-To: [email protected]\nReceived:"
當字符串被保存到文件時\ r \ n被轉換爲\ n嗎? 有沒有一種方法可以將字符串保存到文件中,在沒有修改行尾的情況下將它讀回來?
可能是由於操作系統? 請參閱:http://stackoverflow.com/q/27323188/3286583 –