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

文本编码问题
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

复制
相关文章
SpringMVC返回不带引号的字符串方案汇总
项目使用springboot开发的,大部分出参为json,使用的fastJson。
chenchenchen
2021/09/06
2.3K0
去除字符串中的双引号「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142601.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
2.7K0
【Python】字符串 ① ( Python 字符串定义形式 | 单引号定义法 | 双引号定义法 | 三引号定义法 | 字符串中包含单引号或双引号的处理方式 )
文章目录 一、Python 字符串定义形式 二、字符串中包含 单引号 / 双引号 一、Python 字符串定义形式 ---- Python 字符串定义形式 : 单引号定义法 : name = 'Tom' 双引号定义法 : name = "Tom" 三引号定义法 : 该定义方式与多行注释相同 , 使用 三引号 定义字符串 : 如果使用变量接收 , 那么定义的就是字符串 ; 如果没有变量接收 , 那么定义的就是多行注释 ; name = """Tom""" 代码示例 : # 单引号定义字符串 nam
韩曙亮
2023/04/07
3.2K0
【Python】字符串 ① ( Python 字符串定义形式 | 单引号定义法 | 双引号定义法 | 三引号定义法 | 字符串中包含单引号或双引号的处理方式 )
delphi字符串加引号_oracle 单引号
sp_qry.Close; sp_qry.SQL.Clear; sp_qry.SQL.Add(‘select * from item_info where item_clsno=’+quotedstr(sp_lb.KeyValue)); sp_qry.Open;
全栈程序员站长
2022/11/10
1.4K0
MySQL中的单引号和双引号
《请注意前方高能有引号!》提到过Oracle中引号的处理,其实不仅是Oracle,其他的数据库中,同样存在引号是否使用正确的问题,看到社区的这篇文章,就介绍了MySQL中对单引号和双引号的几种使用场景,可以借鉴学习。
bisal
2023/01/08
4.6K0
MySQL中的单引号和双引号
TeX中的引号
在TeX中,左引号是"“",右引号是"”"。输入一篇包含双引号的文章,你的任务时把它转换成TeX的格式。
Vincent-yuan
2020/05/26
1K0
python3 引号中嵌套引号
我们有时候需要在引号中嵌套引号。例如输入一段完整的代码print(str+'你好'),而代码中有引号。
py3study
2020/01/13
3.7K0
【说站】js字符串中的三种引号
2、单引号和双引号基本相同。反引号允许我们通过${…}在字符串中嵌入任何表达式。允许字符串换行。
很酷的站长
2022/11/24
1.5K0
tomcat返回cookie有双引号问题
2.问题发现 发现与平时的cookie属性不一样,多了一个version=1的额外项。 经了解还有version=0的场景。 因为代码是一致的,在其他tomcat版本执行,没有问题,所以想到是tomcat版本不一致导致的。 目前场景所用的版本为: tomcat 8.0.35 而正常可使用的tomcat版本是较高的版本8.5.6
MickyInvQ
2020/09/27
1.5K0
Python中单引号,双引号,3个单引号
我们知道Python以其易用性而著名,所以刚开始看教程学习看到单引号和双引号都可以使用会以为这是Python为了方便程序员,随便用哪个就好,不用担心用错。其实,背后的原因不只是这么简单。举个例子,想想I'm a big fans of Python.这个字符串应该怎么定义。
py3study
2020/01/13
3.8K0
获取字符串内双引号中的所有内容
测试字符串 String str = "[\"内容\",\"标题\"]"; 编码如下: package Action; import java.util.regex.Matcher; import java.util.regex.Pattern; public class demo { public static void main(String[] args) { String str = "[\"内容\",\"标题\"]"; Pattern p = Pattern.compile("\"
红目香薰
2022/11/29
4.5K0
获取字符串内双引号中的所有内容
Python 引号、注释、字符串
Python3.6.3    json==2.0.9    win10.0.17134
用户7886150
2021/01/13
9420
判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段[通俗易懂]
缺点: hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
全栈程序员站长
2022/09/28
3.3K0
[oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
转义字符回忆上次内容最近玩的是\n、\r 之外的转义序列 \a是 ␇ (bell)\t是 水平制表符\v是 换行不回车通过 16 进制数值转义 \xhh把(hh)16 进制对应的 ascii 字符输出通过 8 进制数值转义 \ooo把(nnn)8 进制对应的 ascii 字符输出这次加了 转义输出 反斜杠本身 \\ 输出 \总是转义 还是挺麻烦的能否直接输出原样输出呢?搜索帮助找到raw stringrawr的含义是 raw原始原样如果是有r就原样输出为什么raw就是原始原样呢?raw生的食物 没有
oeasy
2023/01/17
1.7K0
[oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
Bash Shell 中单引号和双引号的区别
你会经常在 Linux 命令行中使用引号,处理文件名中的空格?你使用引号。处理特殊字符?你再次使用引号。
网络技术联盟站
2022/04/12
3.7K0
Bash Shell 中单引号和双引号的区别
php中的双引号与单引号的基本使用
PHP字符串变量用于存储并处理文本, 在创建字符串之后,我们就可以对它进行操作。我们可以直接在函数中使用字符串,或者把它存储在变量中
itclanCoder
2023/09/14
5900
php中的双引号与单引号的基本使用
shell字符串单双引号的坑
运行非常成功!结果正常输出!然后我就愉快地去重并call variant,但是当我查看g.vcf文件时发现样本名为W0
生信技能树
2021/02/04
5K0
python笔记22-literal_eval函数处理返回json中的单双引号
在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常理出牌,如下这种,result对应的是一个list数据,却又加了单引号变成了一个字符串 严格意义来讲,json串里面应该都是双引号,这种单双交替的就尴尬了
上海-悠悠
2018/07/25
2.4K0
python笔记22-literal_eval函数处理返回json中的单双引号
json.loads()的字符串中为单引号引发的错误
Traceback (most recent call last): File "G:/FastWorkStateServer/logs/redis_fabu.py", line 20, in <module> print(json.loads(str2)) File "D:\python3.6.5\lib\json\__init__.py", line 354, in loads return _default_decoder.decode(s) File "D:\python3.6.5\lib\json\decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "D:\python3.6.5\lib\json\decoder.py", line 355, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
用户1558882
2018/10/10
3.3K0
点击加载更多

相似问题

匹配句子中的多引号

23

强迫包含引号的句子为字符串- Java

41

如何返回字符串“句子”中的字数

15

LINQ根据引号将字符串拆分成句子

41

如何提取段落中的某个句子?Python

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