据我所知,Python的str()函数在默认情况下应该返回一个UTF8编码的字符串。但是,除非我明确指定编码为UTF8,否则我将得到一个字节字符串。我应该在某个地方设置一个全局,使默认的活动,或者我做错了什么?Python 3.10.6在Fedora 36/XFCE上
#!/usr/bin/python3
# Get the mount point of /dev/sd* mounts.
import subprocess
str2=subprocess.check_output(['cat', '/proc/mounts'])
mounts=str2.sp
我正在研究unicode上的python的,我有一个简单的问题要问:当我打开python并键入:
>>> unicode('\x80abc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 0: ordinal
not in range(128)
我得到了上述错误,因
我有一些Python代码,它接收包含错误unicode的字符串。当我尝试忽略错误字符时,Python仍然阻塞(2.6.1版)。下面是重现它的方法:
s = 'ad\xc2-ven\xc2-ture'
s.encode('utf8', 'ignore')
它抛出
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2: ordinal not in range(128)
我做错了什么?
我在MacOSx10.6上运行python2.7,文件在utf8中,终端在utf8中。
我想在一个给定字符串中存在的元音或元音之后添加一个句点。
下面是我想要做的事情的简略版本:
# coding: utf8
a = 'change these letters äöå'
b = map( (lambda x: a.replace(x, "{0}.".format(x))), 'åäö')
for c in b:
print c
它的输出如下:
change these letters ?.??.??.?
change these l
所以我收到了错误消息:
Traceback (most recent call last):
File "make.py", line 48, in <module>
json.dump(amazon_review, outfile)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 189, in dump
for chunk in iterable:
File "
我在python2.7.2中理解unicode时遇到了问题,所以我尝试了一些空闲测试。有两件事标记为“不确定”。请告诉我他们为什么失败了。至于其他项目,请告诉我我的意见是否正确。
>>> s
'Don\x92t ' # s is a string
>>> u
u'Don\u2019t ' # u is a unicode object
>>> type(u) # confirm u is unicode
<type 'unicode'>
>>> typ
下面是我生成错误的python脚本的一部分:
tree = ET.ElementTree(element_table)
xml = ET.tostring(element_table)
xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><?xml- stylesheet type=\"text/xsl\" href=\".\/xsl\/brsdk.xsl\"?>" + xml
obis_fi
我正在编写一个winform,以便将写入的文本转换为Unicode数字和UTF8数字。这个位置工作得很好
//------------------------------------------------------------------------
// Convert to UTF8
// The return will be either 1 byte, 2 bytes or 3 bytes.
//-----------------------------------------------------------------------
对于Python2.7(我在3中使用了一段代码,now...would对如何在PYTHON 3中复制这个测试有一些建议)。
对于欧元字符(欧元),我查找了它的utf8十六进制代码点使用的内容。上面说是0x20AC。
对于Latin1 (再次使用Python2 2.7),我使用了解码来获取其十六进制代码点:
>>import unicodedata
>>p='€'
## notably x80 seems to correspond to [Windows CP1252 according to the link][2]
>>p.decode(
在试图搜索下面的字符串时,我得到了以下错误
错误:
SyntaxError: Non-ASCII character '\xd8' in file Hadith_scraper.py on line 44, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
弦乐:
دَّثَنَا عَبْدَانُ، قَالَ أَخْبَرَنَا عَبْ
代码:
arabic_hadith = "دَّثَنَا عَبْدَانُ، قَالَ أَخْبَر
使用xml格式的svn日志时,我在脚本中意外地发现了一个错误。错误信息是:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)
通过调试输入数据,我发现了问题所在。下面是一个示例:
a=u'\u0440\u0435\u044c\u0434\u0437\u0444\u043a\u044b\u0443\u043a \u043c\u0443\u043a\u044b\u0448\u0449\u0442 \u0430\u04
我正在尝试理解perl中的UTF8。
我有下面的字符串Alizéh,如果我查找这个字符串的十六进制,我将从获得416c697ac3a968 (这与这个字符串的原始源代码相匹配)。
因此,我认为打包十六进制并将其编码为utf8应该会生成unicode字符串。但它产生了非常不同的东西。
有人能解释我做错了什么吗?
这里有一个简单的测试程序来展示我的工作。
#!/usr/bin/perl
use strict;
use warnings;
use Text::Unaccent;
use Encode;
use utf8;
binmode STDOUT, ':encoding(UTF-8
我来了一个十字架--这个,它显示了Unicode表。
当我打印字母‘ספר’时:
>>> x = 'ספר'
>>> x
'\xd7\xa1\xd7\xa4\xd7\xa8'
我知道这个角色是'\xd7\xa1\xd7\xa4\xd7\xa8'。
我认为python用utf-8 Unicode编码单词“ספר”,因为它是默认的,对吗?
但当我运行这段代码时:
>>> x = u'ספר'
>>> x
u'\u05e1\u05e4\u05e8'
我在处理Python编码时遇到了困难:
我从使用pandas.read_csv()打开的csv中获得了一些字符串,它们是用unicode编码的,因此我将其编码为utf-8,执行以下操作
# data is from my csv
string = data.encode('utf-8')
print string
然而,当我打印出来的时候,我得到了
"Parc d'Activit\xc3\xa9s des Gravanches"
我想回去
"Parc d'Activités des Gravanches"
这似乎是一个简单的问题,