亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 6517 | 回復: 11
打印 上一主題 下一主題

haskell 如何讀入中文文件呢? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-05-13 09:19 |只看該作者 |倒序瀏覽
在 ghci 下,用 readFile 和 readUTF8File 讀入中文文件,怎么顯示出來都是 \xxxx\xxxx 這樣的形式呢?

而用 let x = "你好" 顯示的就是漢字。
那么,正確的讀入中文文件的方法是什么呢?

謝謝各位了先。

注,用的是 utf8 的 locale, 文件編碼也是用的 utf8。

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報告]
發(fā)表于 2009-05-13 10:35 |只看該作者
原帖由 drunkedcat 于 2009-5-13 09:19 發(fā)表
在 ghci 下,用 readFile 和 readUTF8File 讀入中文文件,怎么顯示出來都是 \xxxx\xxxx 這樣的形式呢?

而用 let x = "你好" 顯示的就是漢字。
那么,正確的讀入中文文件的方法是什么呢?

默認情況下 GHC 的 String 是不支持 UTF-8 的,你可能需要先安裝 utf8-string 或類似的模塊,然后使用其中的 String, readFile 等函數(shù)。

論壇徽章:
0
3 [報告]
發(fā)表于 2009-05-14 14:08 |只看該作者
utf8-string 在 ghc 里已經(jīng)有了,還是不會用,在 google 和 google code 也沒找到例子,繼續(xù)摸索。

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
4 [報告]
發(fā)表于 2009-05-14 14:17 |只看該作者
原帖由 drunkedcat 于 2009-5-14 14:08 發(fā)表
utf8-string 在 ghc 里已經(jīng)有了,還是不會用,

System.IO.UTF8 提供的接口和 System.IO 提供的基本一樣嘛,你碰到什么困難了?

論壇徽章:
0
5 [報告]
發(fā)表于 2009-05-14 15:36 |只看該作者
原帖由 MMMIX 于 2009-5-14 14:17 發(fā)表

System.IO.UTF8 提供的接口和 System.IO 提供的基本一樣嘛,你碰到什么困難了?



謝謝版主,現(xiàn)在用一個繞彎的辦法:
我發(fā)現(xiàn),用 System.IO.UTF8 讀進來的東西雖然在 ghci 下 show 的時候還是 unicode 數(shù)字,但是寫回文件后就又是漢字了,也就是說,在文件 IO 上還是正常的,只是在調(diào)試時不能看寫的是什么。先這樣了,再看看 ghci 的 show 是如何處理的。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
6 [報告]
發(fā)表于 2009-05-14 16:30 |只看該作者
原帖由 drunkedcat 于 2009-5-14 15:36 發(fā)表

謝謝版主,現(xiàn)在用一個繞彎的辦法:
我發(fā)現(xiàn),用 System.IO.UTF8 讀進來的東西雖然在 ghci 下 show 的時候還是 unicode 數(shù)字,但是寫回文件后就又是漢字了,也就是說,在文件 IO 上還是正常的,只是在調(diào)試 ...

那你就不要 show 嘛。
用 putStrLn

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
7 [報告]
發(fā)表于 2009-05-14 16:33 |只看該作者
原帖由 flw 于 2009-5-14 16:30 發(fā)表

那你就不要 show 嘛。
用 putStrLn

對頭

論壇徽章:
0
8 [報告]
發(fā)表于 2009-05-15 17:01 |只看該作者
樓上兩位正解,多謝。

只是,為什么呢?用 putStrLn 就可以,用 show 就不可以?

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
9 [報告]
發(fā)表于 2009-05-15 17:10 |只看該作者
原帖由 drunkedcat 于 2009-5-15 17:01 發(fā)表
樓上兩位正解,多謝。

只是,為什么呢?用 putStrLn 就可以,

你用的 putStrLn 是 System.IO.UTF8 提供的。
用 show 就不可以?

show 用的是 GHCi 自己的。

論壇徽章:
0
10 [報告]
發(fā)表于 2009-05-15 18:25 |只看該作者
原帖由 MMMIX 于 2009-5-15 17:10 發(fā)表

你用的 putStrLn 是 System.IO.UTF8 提供的。

show 用的是 GHCi 自己的。


我試了一下,不加載 System.IO.UTF8, 直接用 prelude 的 readFile 和 putStrLn ,是一樣的結(jié)果。能正常顯示漢字。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP