Questions tagged «unicode»

Unicode是用于文本编码,表示和处理的标准,旨在支持包含所有书写系统,技术符号和标点符号的书写文本所需的所有字符。


7
为什么在带有某些Unicode字符的注释中执行Java代码?
以下代码产生输出“ Hello World!”。(不,请尝试)。 public static void main(String... args) { // The comment below is not a typo. // \u000d System.out.println("Hello World!"); } 原因是Java编译器将Unicode字符解析\u000d为新行并转换为: public static void main(String... args) { // The comment below is not a typo. // System.out.println("Hello World!"); } 因此导致评论被“执行”。 由于可以将其用于“隐藏”恶意代码或任何邪恶的程序员可以想象的内容,因此为什么允许在注释中使用它? 为什么Java规范允许这样做?
1356 java  unicode  comments 

28
UnicodeEncodeError:'ascii'编解码器无法在位置20编码字符u'\ xa0':序数不在范围内(128)
我在处理从不同网页(在不同站点上)获取的文本中的unicode字符时遇到问题。我正在使用BeautifulSoup。 问题是错误并非总是可重现的。它有时可以在某些页面上使用,有时它会通过抛出来发声UnicodeEncodeError。我已经尝试了几乎所有我能想到的东西,但是没有找到任何能正常工作而不抛出某种与Unicode相关的错误的东西。 导致问题的代码部分之一如下所示: agent_telno = agent.find('div', 'agent_contact_number') agent_telno = '' if agent_telno is None else agent_telno.contents[0] p.agent_info = str(agent_contact + ' ' + agent_telno).strip() 这是运行上述代码段时在某些字符串上生成的堆栈跟踪: Traceback (most recent call last): File "foobar.py", line 792, in <module> p.agent_info = str(agent_contact + ' ' + agent_telno).strip() UnicodeEncodeError: 'ascii' codec can't encode character …



8
字符串文字前的'b'字符做什么?
显然,以下是有效的语法: my_string = b'The string' 我想知道: 这是什么b字在前面的字符串是什么意思? 使用它有什么作用? 在什么情况下可以使用它? 我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它指出b用来表示字符串是二进制的,与Unicode相反,Unicode是使PHP <6版本兼容的代码所必需的,当迁移到PHP 6时。我认为这不适用于Python。 我确实在Python站点上找到了有关使用相同语法的字符将字符串指定为Unicode的文档u。不幸的是,它在该文档的任何地方都没有提到b字符。 而且,只是出于好奇,有没有比多符号b和u是做其他事情?
830 python  string  unicode  binary 


12
std :: wstring VS std :: string
我无法理解之间的差异std::string和std::wstring。我知道wstring支持宽字符,例如Unicode字符。我有以下问题: 我什么时候应该std::wstring用完std::string? 可以std::string容纳整个ASCII字符集,包括特殊字符吗? 是std::wstring由所有流行的C ++编译器的支持? 什么是“ 宽字符 ”?
740 c++  string  unicode  c++-faq  wstring 

2
Zalgo文字如何工作?
Наэтотвопросестьответына 堆栈溢出нарусском:Какработаеттекст«Залго»? 我在各个论坛上都看到过奇怪的格式化文本Zalgo,如下所示。看起来很烦人,但它确实使我感到困扰,因为它破坏了我对角色应该是什么样的观念。我的理解是,角色应该在一条线上水平移动并停留在某个“容器”内。显然,Zalgo文本是垂直移动的,似乎不受任何空间限制。 这是Unicode中的错误/缺陷/漏洞利用/黑客吗?这些单个字符是否具有怪异的属性?“什么”在这里发生? ̡̫̤̤̣͉̤͎͉͖ͭ̓̓̇͗̎̀͋ͬ̌ͯͅͅ ̳̘̿̃̔̏ͣ͂̉̕ ̸͎͉͖̖̙̤͓̞̱̫̌ͯ̆͋ͤ͗̓͟͜ͅͅ ̸̤͓̞̱̫ ̸̤͓̞̱̫ ̸̤͓̞̱̫ ̸̤͓̞̱̫ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̛͓̖̻̲ͤ̈ͣ͝ ̵̶̵̶̵̶̛͓̖̻̲̗̮̮̗̮̮̗̮̮ͤ̈ͣ͝
693 html  unicode  zalgo 


7
字符串标志“ u”和“ r”到底是做什么的,什么是原始字符串文字?
当问这个问题时,我意识到我对原始字符串不了解很多。对于自称是Django培训师的人来说,这很糟糕。 我知道什么是编码,而且我知道u''自从得到Unicode以来,它独自做什么。 但是究竟是r''什么呢?它产生什么样的字符串? 最重要的是,该怎么ur''办? 最后,有什么可靠的方法可以从Unicode字符串返回到简单的原始字符串? 嗯,顺便说一句,如果您的系统和文本编辑器字符集设置为UTF-8,u''实际上有什么作用吗?

15
Twitter图像编码挑战[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 如果一张图片的价值为1000字,那么您可以用140个字符容纳多少张图片? 注意:就是这样!赏金的截止日期已经到了,经过一番艰苦的考虑之后,我认为Boojum的入场机会刚好超出Sam Hocevar的入场机会。一旦有机会将它们写下来,我将发布更详细的注释。当然,每个人都应随时继续提交解决方案并改进解决方案以供人们投票。感谢所有提交和输入的人;我都喜欢。对我来说,这很有趣,我希望对参赛者和观众来说都很有趣。 我遇到了一篇有关尝试将图像压缩到Twitter评论中的有趣文章,并且该线程(以及Reddit上的一个线程)中的很多人都提出了有关您可以采用的不同方法的建议。因此,我认为这将是一个很好的编码挑战;让人们把钱花在嘴上,并展示他们的编码思想如何在有限的可用空间内带来更多细节。 我挑战您提出一个通用系统,该系统可将图像编码为140个字符的Twitter消息,然后再次将其解码为图像。您可以使用Unicode字符,因此每个字符可获得8位以上的字符。但是,即使允许使用Unicode字符,您也需要将图像压缩到很小的空间中。这肯定是有损压缩,因此必须对每个结果的外观有主观判断。 这是原始作者Quasimondo从他的编码中获得的结果(图像已获得知识共享署名-非商业许可): 你能做得更好吗? 规则 您的程序必须具有两种模式:编码和解码。 当编码: 您的程序必须以您选择的任何合理的栅格图形格式输入图形。我们将说ImageMagick支持的任何栅格格式都算合理。 您的程序必须输出一条消息,该消息可以用140个或更少的Unicode代码点表示。在范围140个的代码点U+0000- U+10FFFF,排除非字符(U+FFFE,U+FFFF,U+ÑFFFE,U+ÑFFFF其中Ñ是1- 10十六进制和范围U+FDD0- U+FDEF)和替代代码点(U+D800- U+DFFF)。它可能以您选择的任何合理编码输出;GNUiconv支持的任何编码都将被认为是合理的,并且您的平台本机编码或语言环境编码将是一个不错的选择。有关更多详细信息,请参见下面的Unicode注释。 当解码: 您的程序应将编码模式的输出作为输入。 您的程序必须以您选择的任何合理格式输出图像,如上所述,尽管对于输出矢量格式也可以。 图像输出应该是输入图像的近似值;您离输入图像越近越好。 除了上面指定的输出,解码过程可能无法访问编码过程的任何其他输出;也就是说,您无法将图像上传到某处并输出URL以供解码过程下载,或者诸如此类的愚蠢行为。 为了保持用户界面的一致性,您的程序必须具有以下行为: 您的程序必须是可以在具有适当解释器的平台上设置为可执行文件的脚本,或者是可以编译为可执行文件的程序。 您的程序必须将第一个参数设为encode或decode设置模式。 您的程序必须以下列一种或多种方式进行输入(如果实现一种采用文件名的方式,则如果缺少文件名,则也可以从stdin和stdout进行读取和写入): 从标准输入中获取输入,并在标准输出中生成输出。 my-program encode <input.png >output.txt my-program decode <output.txt >output.png 从第二个参数中命名的文件中获取输入,并在第三个参数中命名的文件中产生输出。 my-program encode input.png output.txt my-program decode output.txt output.png 为您的解决方案,请发布: 您的代码完整和/或托管在其他地方的链接(如果它很长,或者需要编译许多文件等)。 如果它在代码中不是立即显而易见的,或者代码很长,人们可能会对摘要感兴趣,请对其进行解释。 带有原始图像,压缩后的文本和解码图像的示例图像。 …

7
为什么现代的Perl默认情况下会避免使用UTF-8?
我想知道为什么大多数使用Perl构建的现代解决方案默认情况下都不启用UTF-8。 我知道核心Perl脚本有很多遗留问题,可能会破坏事情。但是,从我的角度来看,在21 日的世纪,新的大项目(或具有大的方面讲项目)应该从头开始他们的软件UTF-8的证明。我仍然看不到它的发生。例如,Moose启用严格和警告,但不启用Unicode。Modern :: Perl也减少了样板,但没有UTF-8处理。 为什么?有什么理由在2011年的现代Perl项目中避免使用UTF-8? 评论@tchrist太长了,因此我在这里添加它。 看来我没有说清楚。让我尝试添加一些内容。 我和tchrist的情况非常相似,但是我们的结论完全相反。我同意,Unicode的情况很复杂,但这就是为什么我们(Perl用户和编码人员)需要一些层(或编译指示)的原因,这使得UTF-8处理如今必须像现在一样容易。 tchrist指出了要涵盖的许多方面,我将在几天甚至几周内阅读并考虑它们。不过,这不是我的意思。tchrist试图证明“启用UTF-8”没有唯一的方法。我没有太多知识可以与之争论。因此,我坚持使用实例。 我打得四处Rakudo和UTF-8只是有我需要的。我没有任何问题,一切正常。也许在某个更深层次的地方有一些限制,但是一开始,我测试的所有内容都按预期工作。 那不是现代Perl 5的目标吗?我更强调的是:我不建议UTF-8作为Perl核心默认字符集,我建议触发它的可能性与一个单元为那些谁开发新的项目。 另一个例子,但带有更负面的语气。框架应该使开发更容易。几年前,我尝试了Web框架,但是只是因为“启用UTF-8”太模糊而把它们扔掉了。我没有找到如何以及在何处钩住Unicode支持。这太耗时了,我发现走旧路更容易。现在,我看到这里有悬赏计划来解决与Mason 2 相同的问题:如何使Mason2 UTF-8干净?。因此,这是一个非常新的框架,但是将其与UTF-8一起使用需要深入了解其内部。就像一个大红色标志:停止,不要使用我! 我真的很喜欢Perl。但是处理Unicode是很痛苦的。我仍然发现自己撞墙了。tchrist用某种方式正确并回答了我的问题:新项目不会吸引UTF-8,因为在Perl 5中它太复杂了。
557 perl  unicode  utf-8 

8
UnicodeDecodeError:'charmap'编解码器无法解码位置Y的字节X:字符映射到<undefined>
我正在尝试让Python 3程序对充满信息的文本文件进行一些操作。但是,当尝试读取文件时,出现以下错误: Traceback (most recent call last): File "SCRIPT LOCATION", line NUMBER, in &lt;module&gt; `text = file.read()` File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode `return codecs.charmap_decode(input,self.errors,decoding_table)[0]` UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `&lt;undefined&gt;`

6
为什么在Swift字符串中像👩‍👩‍👩‍👦这样的表情符号字符被如此奇怪地对待?
字符👩‍👩‍👧‍👦(有两个女人,一个女孩和一个男孩的家庭)的编码如下: U+1F469 WOMAN, ‍U+200D ZWJ, U+1F469 WOMAN, U+200D ZWJ, U+1F467 GIRL, U+200D ZWJ, U+1F466 BOY 因此,它的编码非常有趣;单元测试的理想目标。但是,Swift似乎不知道如何处理它。这就是我的意思: "👩‍👩‍👧‍👦".contains("👩‍👩‍👧‍👦") // true "👩‍👩‍👧‍👦".contains("👩") // false "👩‍👩‍👧‍👦".contains("\u{200D}") // false "👩‍👩‍👧‍👦".contains("👧") // false "👩‍👩‍👧‍👦".contains("👦") // true 因此,斯威夫特说,它包含了自己(好)和一个男孩(好!)。但随后它说它不包含女人,女孩或零宽度细木工。这里发生了什么事?为什么Swift知道其中包含一个男孩,却没有一个女人或女孩?我能理解它是否被视为单个字符,并且仅识别出它包含自身,但事实是它只有一个子组件而没有其他组件令我感到困惑。 如果使用,则不会改变"👩".characters.first!。 更令人困惑的是: let manual = "\u{1F469}\u{200D}\u{1F469}\u{200D}\u{1F467}\u{200D}\u{1F466}" Array(manual.characters) // ["👩‍", "👩‍", "👧‍", "👦"] 即使我将ZWJ放置在其中,它们也没有反映在字符数组中。随之而来的是一点点的告诉: manual.contains("👩") // false manual.contains("👧") // …
538 swift  string  unicode  emoji 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.