Tag: unicode

在Java中读取奇怪的unicode字符?

我有以下文本文件: 该文件使用utf-8编码保存。 我使用以下代码来读取文件的内容: FileReader fr = new FileReader(“f.txt”); BufferedReader br = new BufferedReader(fr); String s1 = br.readLine(); String s2 = br.readLine(); System.out.println(“s1 = ” + s1.length()); System.out.println(“s2 = ” + s2.length()); 输出: s1 = 5 s2 = 4 然后我尝试使用s1.charAt(0); 得到s1的第一个字符,它是” (空白)字符。 这就是为什么s1的长度为5.即使我试图使用s1.trim(); 它的长度仍然是5.我不知道为什么会这样? 如果文件是使用ASCII编码保存的,它可以正常工作。

使用正则表达式检测以重音大写字母开头的单词

我想用Java中的正则表达式提取以大写字母开头的单词 – 包括重音大写字母。 这是以大写字母A到Z开头的单词的条件: if (link.text().matches(“^[AZ].+”) == true) 但我也想要以重音大写字母开头的单词。 你有什么想法?

使用java.util.zip写入zip文件时,带有日文字符的文件名将变为垃圾。*

我有一个名称包含日文字符的目录,我需要使用java.util.zip中的zip utils将其写入zip文件。 编写zip文件成功,但是当我用Windows的内置压缩文件实用程序或7-Zip打开生成的zip文件时,名称中带有日文字符的目录显示为一堆垃圾字符。 我的系统上安装了日语/东亚语言包 – 我可以用日语名创建目录,所以这不是问题。 有趣的是,如果我编写一个单独的脚本来使用java.util.zip读取生成的zip文件,目录名称是正确的,我可以将zip的内容提取到具有日文字符的相应命名目录中。 但我不能使用我尝试过的商业拉链工具,这无疑是我们的客户想要做的。 关于导致这个问题的原因以及如何解决这个问题的想法? 我知道这个bug ,但我仍然需要针对这种情况的解决方法。

使用PDFBox将unicode字符串写入PDF

我想使用Apache PDFBox 1.8.8创建一个包含unicode字符的PDF,但我对支持的内容和不支持的内容感到困惑。 这里发布的答案表明这是一个已修复在主干上的错误。 这里发布的另一个答案表明我必须自己做翻译。 此处发布的另一个(较旧的)答案涉及嵌入字体。 请有人澄清一下。 此外,如果它是一个现在修复的错误,有人可以告诉我PDFBox的下一个版本可能是什么时候。 谢谢。

Java char数组是否始终是有效的UTF-16(Big Endian)编码?

假设我将Java字符数组( char[] )实例编码为字节: 为每个字符使用两个字节 使用大端编码(在最左边的最左边存储最高8位,在最右边的字节存储最不重要的8位) 这总是会创建一个有效的UTF-16BE编码吗? 如果不是,哪些代码点将导致无效编码? 这个问题与关于Java char类型的 这个问题以及关于Java字符串的内部表示的这个问题非常相关。

如何在Java中获取unicode字符的十进制值?

我需要一种编程方式来获取String中每个字符的十进制值,以便我可以将它们编码为HTML实体,例如: UTF-8: 著者名 十进制: 著者名

在JButton上显示Unicode字符

我试图在JButton文本上显示这个Unicode “\uD83D” ,但是当我编译它时只显示未知字符的方块。

使用unicode显示欧元符号并将字符更改为大写

我必须使用Java来实现这一目标 第1部分:使用字符原始数据类型输出€188。 使用Unicode作为欧元符号€ 第2部分:将以下char变量’j”o”e’更改为大写JOE并输出结果。 我用过这段代码,我错过了什么? public class Test27 { public static void main (String args[]){ System.out.println(“\u20ac” +”188″); String changeCase= “joe”; String result; result=changeCase.toUpperCase(); System.out.println( result); } } 干杯

Java – 如何编码非拉丁字符的URL路径

目前有final URL url = new URL(urlString); 但我遇到服务器不支持路径中的非ASCII。 使用Java(Android)我需要对来自的URL进行编码 http://sofzh.miximages.com/java/儿子去哪儿.png 至 http://sofzh.miximages.com/java/儿子去哪儿.png 就像浏览器一样。 我检查了URLEncoder.encode(s, “UTF-8”); 但它也编码/斜杠 http%3A%2F%2acmeserver.com%2Fdownload%2Fagc%2Ffcms%2F%E5%84%BF%E5%AD%90%E5%8E%BB%E5%93%AA%E5%84%BF%2F%E5%84%BF%E5%AD%90%E5%8E%BB%E5%93%AA%E5%84%BF.png 有没有方法可以简单地解析方法得到的字符串? 来自http://www.w3.org/TR/html40/appendix/notes.html#non-ascii-chars B.2.1 URI属性值中的非ASCII字符尽管URI不包含非ASCII值(参见[URI],第2.1节),但作者有时会在期望URI的属性值中指定它们(即,使用%URI定义;在DTD中) 。 例如,以下href值是非法的: … 我们建议用户代理在这种情况下采用以下约定来处理非ASCII字符: 将UTF-8中的每个字符(参见[RFC2279])表示为一个或多个字节。 使用URI转义机制转义这些字节(即,通过将每个字节转换为%HH,其中HH是字节值的hex表示法)。

Unicode字符正则表达式,捕获组

我得到了一个正则表达式\ p {L} \ p {M} *我用来将单词分成字符,特别需要用印地语或泰语单词,其中字符可以包含多个“字符”,例如मछली如果在Java中以常规方式分割我得到[म] [छ] [ल] [ी]我想要的地方[म] [छ] [ली] 我一直在努力改进这个正则表达式以包含空格字符,以便当我拆分फार्मपशु时,我会得到后续组[फा] [र्] [म] [] [प] [शु] 但我没有运气。 有人能帮助我吗? 此外,如果有人有另一种方法可以做到这一点,java也可以作为替代解决方案。 我目前的java代码是 Pattern pat = Pattern.compile(“\\p{L}\\p{M}*”); Matcher matcher = pat.matcher(word); while (matcher.find()) { characters.add(matcher.group()); }