Haskellの文字列型
3つある
String
Text (Strict)
Text (Lazy)
String型
Charのリスト
type String = [Char]
リストなので遅い
1文字で5ワードを占めるのでメモリを食う
Unicodeかバイト文字列かに大別できる
table:a
Unicode文字列 バイト文字列
String [Word8]
(strict/lazy) Text (strict/lazy) ByteString
ShortText ShortByteString
ByteString→Stringはどうすればいいのか
変換
drawioで見れる
クソ雑だが
VScodeで開けるmrsekut.icon
日本語の扱いを全然理解できていない
難しいmrsekut.icon
文字コードをちゃんと理解していない、というのもある
関連
参考
網羅的な解説
新しいものも載っている
String, Text, ByteStringの差異について
いくつかの切り口での分類
相互の変換など
変換や依存関係の図がわかりやすい