10601 次
3 に答える
27
utf8-string
バイト文字列をサポートします。
import Prelude hiding (putStr)
import Data.ByteString.Char8 (putStr)
import Data.ByteString.UTF8 (fromString)
main :: IO ()
main = putStr $ fromString "čušpajž日本語"
于 2010-01-18T21:03:16.417 に答える
21
bytestrings
バイトの文字列です。のドキュメントで説明されているように、出力時に 8 ビットに切り捨てられますData.ByteString.Char8
。utf8-string
バイト文字列のサポートを含む Hackageのパッケージを介して、明示的に utf8 に変換する必要があります。
ただし、2011 年以降はtext
、パックされた高速な Unicode 出力のために、パッケージを使用する必要があります。GHCがUnicode文字出力を切り捨てる
あなたの例はもっと簡単になります:
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.Text as T
import qualified Data.Text.IO as T
main = T.putStrLn "čušpajž日本語"
そのようです:
$ runhaskell A.hs
čušpajž日本語
于 2010-01-18T17:20:40.620 に答える
-2
于 2010-01-18T16:31:38.850 に答える