From 4fbb3acfcffaf19de93a3db610868c128ade1868 Mon Sep 17 00:00:00 2001 From: Nobuo Yamashita Date: Tue, 16 May 2017 08:34:29 +0900 Subject: [PATCH] update README.md --- "\346\226\207\345\255\227\345\210\227/README.md" | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git "a/\346\226\207\345\255\227\345\210\227/README.md" "b/\346\226\207\345\255\227\345\210\227/README.md" index 5123c9c..23c4a3d 100644 --- "a/\346\226\207\345\255\227\345\210\227/README.md" +++ "b/\346\226\207\345\255\227\345\210\227/README.md" @@ -83,3 +83,15 @@ main = T.interact (T.unlines . map foo . T.lines) foo :: Text -> Text foo = const "あらそうですか." ``` + +## 日本語の文字列を扱う + +Haskellでは文字を表す型は``Char``型です. +文字に関する関数の多くは``Data.Char``モジュールで定義されています. +Haskellは文字としてUnicode文字集合を使います. +``Char``は内部的には,UTF-32でエンコードされたUnicode文字に対応しています. + +GHCでは受け入れ可能なプログラムはUTF-8でエンコードされているテキストです. +プログラムで文字列リテラルやコメントで日本語の文字列を含めるときは,UTF-8でエンコードしたテキストファイルにする必要があります. + +UTF-8以外でエンコーディングされているテキストデータを扱う場合には変換が必要になります.