2017-06-21 12 views
0

我是新來的斯卡拉,想使用scala.io.Source類。但是我發現它使用Char s,但不是Byte s。我感到困惑的是Char s是編碼/平臺相關的。我的意思是我們可以在UTF-8或「windows-1251」中編碼字符。爲什麼源代碼使用char操作?

windows-1251是嚴格的1字節編碼...有沒有一種方法來操作原始字節?

+1

Scala中的Char是UTF-16,不依賴於平臺。 –

+0

@ n.m。更糟。我有字符串windows-1251編碼。所以'scala.io.Source'不適用? –

+1

源文件是面向字符的,所以用於文本數據。如果你想操作文本數據,scala.io.Source是一個不錯的選擇。如果你想要一個二進制流,可以考慮使用java的InputStream。 –

回答

5

如果你想讀Charwindows-1251,你可以不喜歡它:

scala.io.Source.fromFile(myFile, "windows-1251") 

設置編碼此讀。

相關問題