unicode-show

$ cabal install unicode-show
Installed unicode-show-0.1.0.2
Prelude> :m +Text.Show.Unicode
Prelude Text.Show.Unicode>

unicode-show 这个库可用于向控制台窗口输出 Unicode 字符。

Prelude Text.Show.Unicode> ("Хорошо!",["哈斯克尔7.6.1的力量","感じる"])
("\1061\1086\1088\1086\1096\1086!",["\21704\26031\20811\23572\&7.6.1\30340\21147\37327","\24863\12376\12427"])
Prelude Text.Show.Unicode> uprint it
"(\"Хорошо!\",[\"哈斯克尔7.6.1的力量\",\"感じる\"])"
Prelude Text.Show.Unicode> :set -interactive-print=Text.Show.Unicode.uprint
Prelude Text.Show.Unicode> it
("Хорошо!",["哈斯克尔7.6.1的力量","感じる"])

hxt-unicode

$ cabal install hxt-unicode
Installed hxt-unicode-9.0.2.4
Prelude> import Data.String.Unicode
Prelude Data.String.Unicode>

hxt-unicode 这个库可用于在不同的 coding 之间转换。

Prelude Data.String.Unicode> unicodeToUtf8 "Хорошо!"
"\208\165\208\190\209\128\208\190\209\136\208\190!"
Prelude Data.String.Unicode> unicodeToUtf8 "哈斯克尔7.6.1的力量"
"\229\147\136\230\150\175\229\133\139\229\176\148\&7.6.1\231\154\132\229\138\155\233\135\143"
Prelude Data.String.Unicode> unicodeToUtf8 "感じる"
"\230\132\159\227\129\152\227\130\139"

utf8-string

$ cabal install utf8-string
Installed utf8-string-1.0.1.1
Prelude> import Data.ByteString.UTF8
Prelude Data.ByteString.UTF8>

utf8-string 这个库可用于将字符串转换成 UTF8 字符串。

Prelude Data.ByteString.UTF8> fromString "Хорошо!"
"\208\165\208\190\209\128\208\190\209\136\208\190!"
Prelude Data.ByteString.UTF8> fromString "哈斯克尔7.6.1的力量"
"\229\147\136\230\150\175\229\133\139\229\176\148\&7.6.1\231\154\132\229\138\155\233\135\143"
Prelude Data.ByteString.UTF8> fromString "感じる"
"\230\132\159\227\129\152\227\130\139"

Haskell语言学习笔记(89)Unicode UTF8的更多相关文章

  1. Haskell语言学习笔记(88)语言扩展(1)

    ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...

  2. Haskell语言学习笔记(79)lambda演算

    lambda演算 根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义.函数如何被应用以 ...

  3. Haskell语言学习笔记(69)Yesod

    Yesod Yesod 是一个使用 Haskell 语言的 Web 框架. 安装 Yesod 首先更新 Haskell Platform 到最新版 (Yesod 依赖的库非常多,版本不一致的话很容易安 ...

  4. Haskell语言学习笔记(20)IORef, STRef

    IORef 一个在IO monad中使用变量的类型. 函数 参数 功能 newIORef 值 新建带初值的引用 readIORef 引用 读取引用的值 writeIORef 引用和值 设置引用的值 m ...

  5. Haskell语言学习笔记(39)Category

    Category class Category cat where id :: cat a a (.) :: cat b c -> cat a b -> cat a c instance ...

  6. Haskell语言学习笔记(72)Free Monad

    安装 free 包 $ cabal install free Installed free-5.0.2 Free Monad data Free f a = Pure a | Free (f (Fre ...

  7. Haskell语言学习笔记(49)ByteString Text

    Data.ByteString String 是 [Char] 的同义词,在使用上存在List的惰性所带来的性能问题. 在处理大型二进制文件时,可以使用 ByteString 来代替 String. ...

  8. Haskell语言学习笔记(44)Lens(2)

    自定义 Lens 和 Isos -- Some of the examples in this chapter require a few GHC extensions: -- TemplateHas ...

  9. Haskell语言学习笔记(38)Lens(1)

    Lens Lens是一个接近语言级别的库,使用它可以方便的读取,设置,修改一个大的数据结构中某一部分的值. view, over, set Prelude> :m +Control.Lens P ...

随机推荐

  1. [UE4]链接多个字符串Make Literal String

  2. [UE4]UniformGirdPanel

  3. Servlet --简单用户留言系统

    1.创建用户表和留言表 2.编写数据库连接工具类 public class SqlserverDBConn { private Statement stmt; private Connection c ...

  4. es6 import export 引入导出变量方式

    var testdata='sdfkshdf'; //export testdata;//err export {testdata as ms}; export var firstName = 'Mi ...

  5. winfrom 控件的显示隐藏方法

    使用Panel作为容器 Panel2.Visible = true; //显示 Panel1.Visible = false; //隐藏

  6. Anatomy of a Program in Memory.剖析程序的内存布局

    原文标题:Anatomy of a Program in Memory 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译 ...

  7. string类和stringBuilder类

    字符串是C#中的一种重要数据类型,在项目开发中,离不开字符串操作.C#提供了string类实现字符串操作.于Convert类相似,string类中方法有静态方法和非静态方法.注意,在C#中String ...

  8. admin源码解析以及仿照admin设计stark组件

    ---恢复内容开始--- admin源码解析 一 启动:每个APP下的apps.py文件中. 首先执行每个APP下的admin.py 文件. def autodiscover(): autodisco ...

  9. Entity Framework 入门:准备工作

    Entity Framework 6官方文档 准备工作: 数据库:MySQL + (MySQL for Visual Studio  下载地址  + Mysql connector/net 下载地址 ...

  10. Centos7 开放80,3306端口解决办法

    所有扯iptables的文章都是扯淡!!! centos 7 默认防火墙由firewalld来管理!关iptables屁事! 以开放80端口为例,执行以下命令: 开放80端口:firewall-cmd ...