0
我是新來的斯卡拉,想使用scala.io.Source
類。但是我發現它使用Char
s,但不是Byte
s。我感到困惑的是Char
s是編碼/平臺相關的。我的意思是我們可以在UTF-8
或「windows-1251」中編碼字符。爲什麼源代碼使用char操作?
windows-1251
是嚴格的1字節編碼...有沒有一種方法來操作原始字節?
我是新來的斯卡拉,想使用scala.io.Source
類。但是我發現它使用Char
s,但不是Byte
s。我感到困惑的是Char
s是編碼/平臺相關的。我的意思是我們可以在UTF-8
或「windows-1251」中編碼字符。爲什麼源代碼使用char操作?
windows-1251
是嚴格的1字節編碼...有沒有一種方法來操作原始字節?
如果你想讀Char
爲windows-1251
,你可以不喜歡它:
scala.io.Source.fromFile(myFile, "windows-1251")
設置編碼此讀。
Scala中的Char是UTF-16,不依賴於平臺。 –
@ n.m。更糟。我有字符串windows-1251編碼。所以'scala.io.Source'不適用? –
源文件是面向字符的,所以用於文本數據。如果你想操作文本數據,scala.io.Source是一個不錯的選擇。如果你想要一個二進制流,可以考慮使用java的InputStream。 –