Tag: unicode

假设Unicode和不区分大小写,模式“..”是否匹配“FfIsS”?

这听起来像个笑话,但我可以certificate这一点。 假设: Dot匹配任何单个字符。 当且仅当它与s.toUpperCase()匹配时,不区分大小写的模式匹配s 。 以下所有内容都非常符合逻辑并且在Java中保留: “ffi”.matches(“.”) .matse “ffi”.matches(“.”) LATIN SMALL LIGATURE FFI(U + FB03)是一个字符,所以必须匹配 “ß”.matches(“.”) LATIN SMALL LETTER SHARP S(U + 00DF)是一个字符,因此它必须匹配 “ffi”.toUpperCase().equals(“FFI”)的Unicode标准(没有资本连接FFI) “ß”.toUpperCase().equals(“SS”)的Unicode标准(有一个大写的S,但它没有被使用) “FfI”.toUpperCase().equals(“FFI”)显然”FfI”.toUpperCase().equals(“FFI”) “sS”.toUpperCase.equals(“SS”)显然 因此,假设正则表达式中的第一个点代表ffi而第二个代表ß ,则正则表达式必须匹配“FFISS”,并且因为不区分大小写也是“FfIsS”。 我真的希望有一些错误,否则正则表达式会变得非常不可用。 问题: 我的“证据”有什么问题? 如果我的第二个假设不成立,那么“不区分大小写”究竟意味着什么?

大写与标题之间的区别

uppercase和titlecase之间有什么区别。 坦率地说,我之前从未听说过titlecase 。 在java中,两者都有单独的方法: Character.isTitleCase(char) Character.isUpperCase(char) 有些网站将其定义如下: TitleCase:匹配将大写字母与小写字母组合在一起的字符 ,例如Nj和Dz 但必须有更多: isTitleCase(char)方法只接受1个字符。 所以 – 如果是这种情况 – 那么这个方法至少需要2个字符。

哪个PDF生成API(Java)支持古吉拉特语字体?

我试过iText,PDFBox和Oracle Forms。 我也成功地在iText的情况下生成古吉拉特语PDF文档。 但是,不幸的是,它没有在古吉拉特语(UTF-8)语言中生成适当的字体。 我在jdk 1.4中有我的项目,这是必须使用的。 所以,我需要支持Gujarati Font的旧版API。 如果有任何选择,请建议。 示例代码: public void GeneratePDFusingiText(String lStrGujaratidata) { try { BaseFont bf = BaseFont.createFont(“C:\\Windows\\Fonts\\Shruti.ttf”, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font font = new Font(bf, 12); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(“D:/GeneratePDFusingiText.pdf”)); document.open(); document.add(new Paragraph(lStrGujaratidata, font)); document.close(); } catch(Exception e) { System.out.println(“Exception while generating PDF”); e.printStackTrace(); } } 编辑1: 也许图像没有显示出来。 […]

Json将&在String中转换为\ u0026

我试图从pdf中提取文本并将其写入json文件。 在提取unicode字符时,Json会将所有字符转换为\ u0026。 例如,我的实际字符串是&#1588 。 (代表ش)。 它可以正确打印到.txt文件,控制台等。但是当我尝试将此字符串打印到Json文件时,它会显示\u0026#1588; 。 我使用的是Java,代码是 Gson gson = new Gson(); String json = gson.toJson(pdfDoc); 注意: pdfDoc是一个对象,它包含输入PDF文档中字符的所有详细信息(位置,颜色,字体等)。 我正在使用gson-2.2.1.jar 。

将ObjectNode写入JSON字符串,使用UTF-8字符转换为ASCII

我想把Jackson的ObjectNode的内容写成一个字符串,其中UTF-8字符写成ASCII(Unicode转义)。 这是一个示例方法: private String writeUnicodeString() { ObjectMapper mapper = new ObjectMapper(); ObjectNode node = mapper.getNodeFactory().objectNode(); node.put(“field1”, “Maël Hörz”); return node.toString(); } 默认情况下,输出: {“field1″:”Maël Hörz”} 我希望它输出的是: {“field1″:”Ma\u00EBl H\u00F6rz”} 我怎么能做到这一点?

打印特定范围内的所有Unicode字符

我找不到合适的API。 我试过这个; public static void main(String[] args) { for (int i = 2309; i < 3000; i++) { String hex = Integer.toHexString(i); System.out.println(hex + " = " + (char) i); } } 此代码仅在Eclipse IDE中以这样的方式打印。 905 = ? 906 = ? 907 = ? … 如何使用这些十进制和hex值来获取Unicode字符?

如何从java中的字符串中删除无效的unicode字符

我正在使用CoreNLP神经网络依赖性解析器来解析一些社交媒体内容。 不幸的是,该文件包含的字符根据fileformat.info ,不是有效的unicode字符或unicode替换字符。 这些是例如U + D83D或U + FFFD 。 如果这些字符在文件中,coreNLP会回复错误消息,如下所示: Nov 15, 2015 5:15:38 PM edu.stanford.nlp.process.PTBLexer next WARNING: Untokenizable: ? (U+D83D, decimal: 55357) 基于这个答案,我尝试了document.replaceAll(“\\p{C}”, “”); 只是删除那些字符。 这里的文档只是作为字符串的文档。 但这没有帮助。 在将字符串传递给coreNLP之前,如何从字符串中删除这些字符? 更新(11月16日): 为了完整起见,我应该提一下,我只是为了通过预处理文件来避免大量的错误消息而问这个问题。 CoreNLP只是忽略它无法处理的字符,所以这不是问题。

推荐用于显示unicode字符的字体?

对于那些开发了支持多种语言的面向客户的Java Swing应用程序的人来说,您最好找到哪种字体显示所有语言的字符?

Java:检测对JSON不正确的控制字符

我正在重新发明轮子并在Java中创建自己的JSON解析方法。 我要去json.org上的(非常好的!)文档。 我不确定的唯一部分是它所说的“或控制性格” 由于文档非常清晰,并且JSON非常简单易于实现,我认为我会继续使用规范而不是松散。 我如何正确地删除Java中的控制字符? 也许有一个unicode系列? 编辑:A(通常?)缺少谜题 我被告知 在定义的范围 1 2之外还有其他控制字符在标记中可能很麻烦。 最值得注意的是字符U + 2028和U + 2029,线和段落分隔符,它们充当换行符。 在字符串文字的中间注入换行符很可能会导致语法错误(未终止的字符串文字)。 3 虽然我认为这不会造成XSS威胁,但为标签中的使用添加额外规则仍然是个好主意。 只需简单并使用\u表示法编码所有非“ASCII可打印”字符。 这些角色开始时并不常见。 如果您愿意,可以添加到白名单,但我建议使用白名单方法。 如果您不知道, 请不要忘记 </script (不区分大小写),这可能会导致HTML脚本注入您的页面 。 默认情况下,这些字符都不是以JSON编码的。

Java中的字符是1字节还是2字节?

我认为java中的字符是16位,如java doc中所建议的那样。 字符串不是这样吗? 我有一个代码将对象存储到文件中: public static void storeNormalObj(File outFile, Object obj) { FileOutputStream fos = null; ObjectOutputStream oos = null; try { fos = new FileOutputStream(outFile); oos = new ObjectOutputStream(fos); oos.writeObject(obj); oos.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { oos.close(); try { fos.close(); } catch (Exception e) { e.printStackTrace(); } } […]