Haskell语言学习笔记(89)Unicode UTF8
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的更多相关文章
- Haskell语言学习笔记(88)语言扩展(1)
ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...
- Haskell语言学习笔记(79)lambda演算
lambda演算 根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义.函数如何被应用以 ...
- Haskell语言学习笔记(69)Yesod
Yesod Yesod 是一个使用 Haskell 语言的 Web 框架. 安装 Yesod 首先更新 Haskell Platform 到最新版 (Yesod 依赖的库非常多,版本不一致的话很容易安 ...
- Haskell语言学习笔记(20)IORef, STRef
IORef 一个在IO monad中使用变量的类型. 函数 参数 功能 newIORef 值 新建带初值的引用 readIORef 引用 读取引用的值 writeIORef 引用和值 设置引用的值 m ...
- Haskell语言学习笔记(39)Category
Category class Category cat where id :: cat a a (.) :: cat b c -> cat a b -> cat a c instance ...
- Haskell语言学习笔记(72)Free Monad
安装 free 包 $ cabal install free Installed free-5.0.2 Free Monad data Free f a = Pure a | Free (f (Fre ...
- Haskell语言学习笔记(49)ByteString Text
Data.ByteString String 是 [Char] 的同义词,在使用上存在List的惰性所带来的性能问题. 在处理大型二进制文件时,可以使用 ByteString 来代替 String. ...
- Haskell语言学习笔记(44)Lens(2)
自定义 Lens 和 Isos -- Some of the examples in this chapter require a few GHC extensions: -- TemplateHas ...
- Haskell语言学习笔记(38)Lens(1)
Lens Lens是一个接近语言级别的库,使用它可以方便的读取,设置,修改一个大的数据结构中某一部分的值. view, over, set Prelude> :m +Control.Lens P ...
随机推荐
- [SQL]卸载数据库清理注册表方法regedit
.打开注册表. 开始——运行——regedit——确定 .然后找到下面的文件夹,删除掉: HKEY_CURRENT_USER\ Software\ Microsoft\ Microsoft SQL S ...
- Linux打开TCP BBR拥塞控制算法
要求内核为4.9以上,如果不是,请升级内核. modprobe tcp_bbr echo "tcp_bbr" >> /etc/modules-load.d/module ...
- mysql where in形式存储过程如何传递带有单引号的入参
对于存储过程或者函数,我们通常都有这样的一个需求,传递一个参数,输出一个结果.如:我传递一个账号,返回这个账号所拥有的权限.但是如果这个需求改了,我要传递多个账号,获取这些账号权限,但是账号的个数不限 ...
- 如何安装 Microsoft Office 兼容包,以便您可以在早期版本的 Microsoft Office 中打开和保存 Office Open XML 格式
https://support.microsoft.com/zh-cn/kb/923505 针对 Office 2003 的支持已终止 Microsoft 已于 2014 年 4 月 8 日终止了针对 ...
- ROS-by-example的安装
在这里我之前用的VM12安装成功之后,仿真器机器人会有问题,故把电脑做成双系统的形式来重新安装: 环境:Ubuntu14.04 LTS 32bits ROS版本:ROS Indigo 在学习本部分之后 ...
- String和get
在ch4的作业中暴露出了我不懂的一些问题,主要是和String有关的定义和头文件以及和get有关的函数. String 在C++中如果想定义字符串型,即String a:则需要用到头文件<str ...
- Win7平台下配置Sublime Text2 的C++编译环境
Sublime Text 是一个跨平台的编辑器,之前在 Mac 上成功配置了 C++ 在 Sublime Text 的编译环境,接下来介绍下载 windows 平台下的环境配置. 1. 首先判断机器上 ...
- centos7管理用户权限
1.Centos创建用户并授权: https://blog.csdn.net/bug4pie/article/details/79761443 https://www.jb51.net/article ...
- linux常用命令以及快捷键
find命令查找某些文件并将其拷贝到指定目录 [root@host lib]# find -name "*hbase*.jar" |xargs -i cp {} /root/aa ...
- django 无法生成表
1.删除该APP下migration下的文件,只留init文件即可 2.删除表django_migration的关于该app的所有记录 3.makemigrations,migrate