Tag: unicode

由于Java中的合法注释中的内容导致的错误

在这个 coderanch链接上,我发现以下注释会给编译器错误: – // Compiler Error due to this Unicode char ‘\u000a’ 原因是,Unicode序列直接被它对应的实际字符所取代。 由于’\ u000a’对应于newLine字符,因此newLine位于找到’\ u000a’的位置。 我的问题是,“有没有其他方法因评论而出现编译错误?”

检测Java中的任何组合字符

我正在寻找一种方法来检测java字符串中的字符是否是“组合字符”。 例如, String khmerCombiningVowel = new String(new byte[]{(byte) 0xe1,(byte) 0x9f,(byte) 0x80}, “UTF-8″); // unicode 17c0 代表结合高棉元音符号 。 我试过”\\p{InCombiningDiacriticalMarks}” 正则表达式,但似乎并不适用于这些特殊的组合字符。 或者即使有一些全面的unicode组合字符块列表,我也可以为它们制作一个正则表达式?

为什么’?’ 在java中打印unicode字符时显示为输出

在java中打印某些unicode字符时,输出为“?”。 为什么会这样,有没有办法打印这些字符? 这是我的代码 String symbol1=”\u200d”; StringBuilder strg = new StringBuilder(“unicodecharacter”); strg.insert(5,symbol1); System.out.println(“After insertion…”); System.out.println(strg.toString()); 输出是插入后… unico?decharacter

将unicode写入rtf文件

我正在尝试用不同语言将字符串写入rtf文件。 我尝试了一些不同的东西。 我在这里使用日语作为例子,但我尝试过的其他语言也是如此。 public void writeToFile(){ String strJapanese = “日本語”; DataOutputStream outStream; File file = new File(“C:\\file.rtf”); try{ outStream = new DataOutputStream(new FileOutputStream(file)); outStream.writeBytes(strJapanese); outStream.close(); }catch (Exception e){ System.out.println(e.toString()); } } 我也尝试过: byte[] b = strJapanese.getBytes(“UTF-8”); String output = new String(b); 或者更具体: byte[] b = strJapanese.getBytes(“Shift-JIS”); String output = new String(b); 输出流还具有writeUTF方法: outStream.writeUTF(strJapanese); 您可以使用write方法直接在输出流中使用byte []。 […]

char对象与哪个字符编码(Unicode版本)集相对应?

char对象对应的Unicode 字符编码 : C# Java的 JavaScript (我知道实际上没有char类型,但我假设String类型仍然是作为Unicode字符数组实现的) 一般来说,编程语言之间是否存在使用特定字符编码的通用约定? 更新 我试图澄清我的问题。 我所做的更改将在下面的评论中讨论。 回复:“你想解决什么问题?” ,我对从语言无关的表达式生成代码感兴趣,并且文件的特定编码是相关的。

IntelliJ IDEA控制台中的unicode字符显示为问号

我正在尝试使用System.out编写unicode字符(♠),而是打印一个问号。 如何显示正确的unicode字符而不是问号? 我在Windows上使用IntelliJ IDEA,并尝试在IDE中打印。

如何在JTextArea中显示日语字符

显示日文字符时JTextArea有奇怪的行为 – 我得到了众所周知的空白矩形而不是汉字。 最奇怪的是JTextField完美地显示它们(在两种情况下我使用“Tahoma”字体系列)。 另外,如果我把这段代码: Font f = new Font(“123”, Font.PLAIN, 12); // This font doesn’t exists problemTextArea.setFont(f); …在我将日语字符串写入problemTextArea之前,它显示了汉字! PS抱歉我的英文。 Upd:我正在使用Windows

无法在MySQL中插入非拉丁符号

我正在使用MySQL版本5.1.45,Tomcat 5.5.28和Hibernate 3编写web应用程序 当我试图保存包含非拉丁字符的字符串(例如Упячка)时,会发生错误: 1589 [main] WARN org.hibernate.util.JDBCExceptionReporter – SQL Error: 1366, SQLState: HY000 1589 [main] ERROR org.hibernate.util.JDBCExceptionReporter – Incorrect string value: ‘\xD0\xA3\xD0\xBF\xD1\x8F…’ for column ‘name’ at row 1 Hibernate连接设置 com.mysql.jdbc.Driver jdbc:mysql://localhost/E2012?characterEncoding=UTF8&useUnicode=true *** *** UTF8 MySQL配置My.cnf [client] default-character-set=utf8 [mysqld] default-character-set=utf8 甚至查询集名称utf-8也无法解决问题 感谢帮助!

Java unicode字节解析

我只是在从文件中读取一些数据作为字节流,我刚刚遇到一些unicode字符串,我不知道如何最好地处理。 每个字符使用两个字节,只有第一个字符似乎包含实际数据,因此例如字符串’trust’存储在文件中: 0x74 0x00(t) 0x72 0x00(r) …and so on 通常我只是使用正则表达式来替换零,因此删除空格。 但是,文件中的单词之间的空格是使用0x00 0x00实现的,所以尝试做一个简单的String’replaceAll’有点搞乱它。 我已经尝试过使用字符串编码集,例如’ISO-8859-1’和’UTF-8/16’,但每次我最终得到空格。 我创建了一个简单的正则表达式来删除双零hex值,即: new String(bytes).replaceAll(“[\\00]{2,},””); 但这显然只适用于双零,我真的想用零替换单个零,并用实际的ASCII / Unicode空格字符双倍零。 我本可以发誓,其中一个Java字符串格式设置处理了这种事情,但我可能错了。 那么我应该创建一个正则表达式去除零,还是Java实际上提供了执行它的机制? 谢谢

保留数字字符实体字符,例如`
 
`在Java中解析XML时

我正在解析包含数字字符实体字符的XML,例如(但不限于) < > < > (Java中的换行回车)。 在解析时,我将节点的文本内容附加到StringBuffer,以便稍后将其写入文本文件。 但是,当我将String写入文件或将其打印出来时,这些unicode字符将被解析或转换为换行符/空格。 在Java中迭代XML文件的节点并将文本内容节点存储到String时,如何保留原始数字字符实体字符符号? demo xml文件的示例: 示例Java代码。 它加载XML,遍历节点并将每个节点的文本内容收集到StringBuffer。 迭代结束后,它将StringBuffer写入控制台,也写入文件(但没有 )符号。 将这些符号存储到字符串时,保留这些符号的方法是什么? 你可以帮我吗? 谢谢。 public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException { DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance(); Document document = null; DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder(); document = documentBuilder.parse(new File(“path/to/demo.xml”)); StringBuilder sb = new StringBuilder(); […]