我一直在寻找一种在Unicodestringtypes之间进行转换的方法,并且遇到了这种方法 。 我不仅没有完全理解这个方法(没有评论),而且文章暗示将来会有更好的方法。 如果这是最好的方法,请指出是什么使其工作,如果不是,我希望听到更好的方法的build议。
在Python中我需要做什么来弄清楚哪一种编码?
我试图设置Mercurial来打印出当前使用PowerShell的存储库的状态。 到目前为止,我有一切工作,但我希望能够打印'☿'到当我在一个存储库的提示。 不幸的是,似乎PowerShell在打印Unicode字符时遇到了一些问题。 在接受的答案是否有一个Windows命令shell将显示Unicode字符? build议Windows 7(我正在使用)附带的PowerShell v2将能够打印Unicode字符,但我似乎无法得到它的工作。 同样,使用chcp 65001的下一个答案也不起作用。 这仍然是PowerShell的一个缺陷,还是我错过了一些明显的东西?
为什么会发生以下情况: >>> u'\u0308'.encode('mbcs') #UMLAUT '\xa8' >>> u'\u041A'.encode('mbcs') #CYRILLIC CAPITAL LETTER KA '?' >>> 我有一个Python应用程序接受来自操作系统的文件名。 它适用于一些国际用户,但不适用于其他用户。 例如,这个unicode文件名:u'\ u041a \ u0433 \ u044b \ u04448 \ u0444 \ u0442' 不会使用Windows'mbcs'编码(文件系统使用的编码,由sys.getfilesystemencoding()返回)进行编码。 我得到'???????',表示编码器在这些字符上失败。 但是这是没有意义的,因为文件名是从用户开始的。 更新:这是我背后的原因背景…我在我的系统上有一个文件名称在西里尔文。 我想调用subprocess.Popen()与该文件作为参数。 Popen不会处理unicode。 通常情况下,我可以用sys.getfilesystemencoding()给出的编解码器对参数进行编码。 在这种情况下,它不会工作
我有一个函数来将string转换为一个Unicodestring: private string UnicodeString(string text) { return Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(text)); } 但是当我调用这个函数时,输出结果是错误的。 它看起来像我的function不工作。 Console.WriteLine(UnicodeString("добры дзень"))在控制台上打印只是这样的问题: ????? ???? ????? ???? 有没有办法说,控制台显示正确的? UPDATE 它看起来像不是Unicode的问题。 我想也许这是显示问号,因为我没有在系统中的正确的语言环境(Windows 7)? 有没有办法让它工作,而不改变语言环境?
我无法使用PDFBox将unicode字符写入PDF。 这是一些示例代码,生成垃圾字符,而不是输出“š”。 我可以添加什么来获得对UTF-8string的支持? PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(document, page); PDType1Font font = PDType1Font.HELVETICA; contentStream.setFont(font, 12); contentStream.beginText(); contentStream.moveTextPositionByAmount(100, 400); contentStream.drawString("š"); contentStream.endText(); contentStream.close(); document.save("test.pdf"); document.close();
我必须通过日本的命令行参数到Java主要方法。 如果我在命令行窗口中inputUnicode字符,它会显示'?????' 这是可以的,但是传递给java程序的值也是'?????'。 如何获得命令窗口传递的参数的正确值? 下面是一个示例程序,它将通过命令行参数提供的值写入文件。 public static void main(String[] args) { String input = args[0]; try { String filePath = "C:/Temp/abc.txt"; File file = new File(filePath); OutputStream out = new FileOutputStream(file); byte buf[] = new byte[1024]; int len; InputStream is = new ByteArrayInputStream(input.getBytes()); while ((len = is.read(buf)) > 0) { out.write(buf, 0, len); } out.close(); […]
表情符号👍🏼由2个unicodeScalar👍U + 1F44D,🏼U + 1F3FC组成。 这怎么能被识别为1'显示'的表情符号,因为它会在iOS上显示?
有谁知道如何检测java中的可打印字符? 过了一段时间(试验/错误),我得到这个方法: public boolean isPrintableChar( char c ) { Character.UnicodeBlock block = Character.UnicodeBlock.of( c ); return (!Character.isISOControl(c)) && c != KeyEvent.CHAR_UNDEFINED && block != null && block != Character.UnicodeBlock.SPECIALS; } 我通过KeyListener获得input,并且打印出一个正方形的Ctr-'key'。 有了这个function似乎够用了。 我在这里错过了一些字符? 先谢谢你。
在Python中是否有一个标准的方法来标准化unicodestring,以便它只理解可以用来表示它的最简单的unicode实体? 我的意思是说,将['LATIN SMALL LETTER A', 'COMBINING ACUTE ACCENT']这样的序列翻译成['LATIN SMALL LETTER A WITH ACUTE'] ? 看看问题在哪里: >>> import unicodedata >>> char = "á" >>> len(char) 1 >>> [ unicodedata.name(c) for c in char ] ['LATIN SMALL LETTER A WITH ACUTE'] 但现在: >>> char = "á" >>> len(char) 2 >>> [ unicodedata.name(c) for c in char ] […]