首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >文本编码问题

文本编码问题
EN

Stack Overflow用户
提问于 2012-04-07 21:02:18
回答 2查看 299关注 0票数 3

我在文字编码方面有点麻烦。解析网站会给我一个Data.Text字符串

“Fran\195\167 195项目”,

我需要把它写到文件里。因此,我使用Data.Text.Lazy.Encoding.encodeUtf8将其转换为字节串。问题是,这会产生错误的输出:

“项目-Fran§ois Dubois”。

我在这里错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-08 02:05:17

如果你在你的Fran\195\167ois中得到了Data.Text,你已经有了一个UTF-8编码的François.

这是不方便的,因为Data.Text[.Lazy]应该是UTF-16编码文本,而这两个代码单元195和167被解释为unicode代码点195 resp。167,即“圣保罗”。“§”。如果您对文本进行UTF-8编码,这些将转换为字节序列c383 ([195,131]) resp c2a7 ([194,167]).

进入这种情况最有可能的方法是,您从网站获得的数据是UTF-8编码,但被解释为ISO-8859-1 (拉丁文1)编码(或另一个8位编码;8859-15也很普遍)。

处理这一问题的适当办法是完全避免可能不可能发生的情况,不幸的是。

如果你的数据来源正确地说明了它的编码--就像网站应该做的那样--找出编码并对数据进行相应的解释。如果一个不正确的编码被指出,你当然是运气不好,如果没有指定编码,你必须猜对了(现在的自然猜测是UTF-8,至少对于使用拉丁字母变体的语言来说是这样)。

如果不可能避免这种情况,最简单的解决方法是

  1. 在编码前用所需的序列替换出现的违规序列: encodeUtf8 $替换(pack“Fran\195\167 195”)(打包“Fran\231 195”)目录
  2. 假设其他内容都是ASCII或无意中的UTF-8,将Text代码单元解释为字节: Data.ByteString.Lazy.Char8.pack $ Data.Text.Lazy.unpack内容

前者效率更高,但如果有许多不同的错误编码(例如,由不同的重音字母引起),则会变得不方便。后者只在假设的情况下工作(Text中没有255个以上的代码单元),对于长文本来说效率很低。

票数 5
EN

Stack Overflow用户

发布于 2012-04-07 22:22:26

我不完全确定less是否能正确显示UTF-8编码的字符.GVim可以。您可以检查链接,以便了解如何在gVim中查看UTF-8数据。

关于能够将它传递给graphviz的另一个问题,我认为您需要在命令行上设置编码,正如图NonAscii常见问题中所解释的那样。

根据您正在解释的内容,我认为数据是如何持久化的没有问题。如果您正确地将编码传递给graphviz,我认为您的问题将得到解决。

P.S:创建一个答案,因为创建描述性链接更容易

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10060519

复制
相关文章
JavaScript中数据类型和typeof返回的数据类型
3.typeof(Object)和typeof(Array)的结果是function,因为Object和Array本身就是内置函数。
IT人一直在路上
2019/09/18
2.1K0
JavaScript中数据类型和typeof返回的数据类型
如何根据函数返回的值对dart中的List进行排序
# 关于排序:如何根据函数返回的值对dart中的List进行排序 void main(){ List<POJO> pojo = [POJO(5), POJO(3),POJO(7),POJO(1)]; // fill list pojo..sort((a, b) => a.id.compareTo(b.id)); for(var i in pojo){ print(i.id); // prints list in sorted order i.e 1 3 5 7 } }
徐建国
2021/08/26
11.7K0
方法的返回值类型为引用数据类型时
方法的返回值类型为引用数据类型: 基本数据类型:(基本类型太简单,我不准备讲解) 引用数据类型: 1.方法的返回值类型为类名时:返回的是该类的对象。 2.方法的返回值类型为抽象类名时:返回的是该类的子类对象。 3.方法的返回值类型为接口名时:返回的是该接口的实现类的对象。
黑泽君
2018/10/11
2.7K0
springmvc返回值类型及响应数据类型
字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 例: jsp
暴躁的程序猿
2022/03/23
1.8K0
小程序根据返回值的int类型渲染不同的状态
需求:返回值里面有 0,1,2,3,4 分别代表面试,开会,拜访顾客,项目实施,其他这5中类型,需要将获取到的0,1,2,3,4渲染到页面上,分别显示所对应的类型状态面试,开会,拜访顾客,项目实施,其他。
王小婷
2021/06/22
1.8K0
小程序根据返回值的int类型渲染不同的状态
java如何根据二进制流确定图片的类型
 为什么需要这样做? 因为仅仅通过后缀名我们并不能得知用户是否把图片的类型更改为其他类型. public enum ImageType { PNG('P','N','G','-',"PNG"),
用户1215919
2018/02/27
2.4K0
MySQL根据条件返回bool值
有时候我希望从数据库中拉取数据时能够获得一些较为复杂的信息,比如获取活动信息时还想知道当前用户是否参加了活动(需要再做一次查询才能判断),为了简化后台逻辑,避免查询两次获得两组结果再合并,我发现了CASE语句。
gojam
2019/05/14
4.2K0
如何利用 pandas 根据数据类型进行筛选?
让我们从第 4 题开始,取出 D 列全部非整数行,其实在 pandas 中可以使用.is_integer() 判断一个元素是否为整数。
刘早起
2022/09/21
1.4K0
MySQL中的数据类型_js中的数据类型
整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT
全栈程序员站长
2022/11/05
6.7K0
MySQL中的数据类型_js中的数据类型
函数出错返回的数据类型
返回NULL值有各种弊端,对此有一个比较经典的应对策略,就是应用空对象设计模式(Null Object Design Pattern)。
WindCoder
2020/04/09
2.2K0
ASP.NET Core中的Action的返回值类型
在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类。并且Core把MVC跟WebApi合并之后Action的返回值体系也有了很大的变化。
MJ.Zhou
2020/06/19
2.8K0
integer类型比较大小_pow的值的数据类型
MySQL支持SQL标准整数类型 INTEGER(或 INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。下表显示了每个整数类型所需的存储和范围。.
全栈程序员站长
2022/10/29
7440
编程语言中的值数据类型和引用数据类型之间的区别
2.值数据类型在参数传递中是值传递,也就是传递的值给形参,而在函数里形参的改变不影响实参的值;引用数据类型在参数传递中是引用传递,也就是传递的值是地址,而在函数里形参的改变会影响实参的值。当然,也可以将值数据类型的地址作为实参传给形参,这样也相当与是一种引用传递。
西西嘛呦
2020/08/26
7120
python中的数据类型
Python 支持三种不同的数字类型整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。
用户7737280
2021/11/10
1K0
Java中的数据类型
Java是强类型语言 什么是强类型语言? 就是一个变量只能对应一种类型。而不是模棱两可的类型符号。 下面我通过一个例子来解释一下这个现象. javascript中可以用var表示许多数据类型 //
conanma
2021/12/06
7360
java中的数据类型[通俗易懂]
在java中,数据类型分为基本数据类型和引用数据类型。今天我们主要介绍一下基本数据类型。java中有8中基本数据类型,分别用于存储整数、浮点数、字符数据和布尔类型的数据。下面的图列出了java中的基本数据类型,方便大家理解。
全栈程序员站长
2022/08/10
6660
java中的数据类型[通俗易懂]
TensorFlow中的数据类型
TensorFlow接受了Python自己的原生数据类型,例如Python中的布尔值类型,数值数据类型(整数,浮点数)和字符串类型。单一值将转换为0维张量(标量),列表值将转换为1维张量(向量),列表套列表将被转换成2维张量(矩阵)等等,以下示例来自于TensorFlow for Machine Intelligence.
狼啸风云
2019/11/03
1.8K0
golang 中的数据类型
在本节之后,我们将正式学习 golang 语言基础。本节,我们将介绍 “golang 数据类型”,如果你还没阅读过之前的文章内容,可以打开以下链接进行阅读
极客开发者
2022/01/18
1.2K0
JavaScript中的数据类型
在ECMAScript中,变量是松散类型的。所谓松散类型就是指变量可以用来保存任何类型的数据。  // 下面的操作是完全合法的 var message = "helloWorld"; message = 100; 但是在实际开发中,我并不推荐大家这样使用变量。这种操作方法是会让代码变得很不安全。为了规避这样的问题,我在变量命名的时候对变量类型做了标明。 var strMessage = "helloWorld"; // String类型 var nMessage = 100; // Number类型 //
就只是小茗
2018/03/07
2.2K0
JavaScript中的数据类型
java中数组的下标的数据类型是_java返回数组下标
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
2.2K0

相似问题

根据实际数据值确定列数据类型

13

如何确定返回的值的数据类型

10

如何根据函数的返回值确定类型

12

如何根据numpy数据类型确定PostgreSQL列数据类型?

10

根据名称确定正确的数据类型

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文