我有一个字节数组,我正在加密然后转换为字符串,以便它可以传输。 当我收到字符串时,我必须将字符串转换回字节数组,以便解密。 我已检查收到的字符串是否匹配发送的字符串(包括长度),但是当我使用str.getBytes()之类的东西将其转换为字节数组时,它与我的原始字节数组不匹配。 示例输出: SENT: WzShnf/fOV3NZO2nqnOXZbM1lNwVpcq3qxmXiiv6M5xqC1A3 SENT STR: [B@3e4a9a7d RECEIVED STR: [B@3e4a9a7d RECEIVED: W0JAM2U0YTlhN2Q= 任何想法我如何将收到的字符串转换为匹配发送的字节数组的字节数组? 谢谢
如何在Java / Eclipse中使用/显示♥,♦,♣或characters等字符? 当我尝试直接使用它们时,例如在源代码中,Eclipse无法保存文件。 我能做什么? 编辑:如何找到unicode转义序列?
我正在尝试解析来自不同来源的xml文件(我无法控制)。 其中大多数都是用UTF-8编码的,并且使用以下代码段不会导致任何问题: SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); FeedHandler handler = new FeedHandler(); InputSource is = new InputSource(getInputStream()); parser.parse(is, handler); 由于SAX默认为UTF-8,这很好。 但是有些文件声明: 即使声明ISO-8859-1 SAX仍然默认为UTF-8。 只有我添加: is.setEncoding(“ISO-8859-1”); SAX会使用正确的编码吗? 如何在没有专门设置的情况下让SAX自动检测xml声明中的正确编码? 我需要这个,因为我事先不知道文件的编码是什么。 艾琳,提前谢谢
我的Windows默认编码是GBK,我的Eclipse完全是utf-8编码的。 因此,在我的Eclipse中运行良好的应用程序崩溃,因为在导出为jar文件时单词变得不可读; 我必须在.bat文件中编写以下行来运行该应用程序 start java -Dfile.encoding=utf-8 -jar xxx.jar 现在我的问题是,我可以在源代码中编写一些东西来设置应用程序使用(或运行jvm)utf-8而不是系统的默认编码。
我遇到过这一系列遗留代码,我想弄清楚: String newString = new String(oldString.getBytes(“UTF-8”), “UTF-8”)); 据我所知,它是使用相同的charSet进行编码和解码。 这与以下有什么不同? String newString = oldString; 是否存在两条线路具有不同输出的情况? ps:只是为了澄清,是的,我知道Joel Spolsky关于编码的优秀文章 !
Java的默认编码是ASCII 。 是? (见下面的编辑) 当文本文件以UTF-8编码时? 读者如何知道他必须使用UTF-8 ? 我谈到的读者是: FileReader 来自Socket的BufferedReader 来自System.in的Scanner … 编辑 它转变为我们的编码取决于操作系统,这意味着在每个操作系统上都不是这样: ‘a’== 97
尝试使用iText将越南文档导出为PDF时,我遇到了问题。 我把越南语单词放在.xml文件中就像这样 T\u1ED5 ch\u1EE9c tham gia 然后让java从xml文件中获取短语并使用此方法将其转换为Unicode: public String convertToUnicode(String s) { int i = 0, len = s.length(); char c; StringBuffer sb = new StringBuffer(len); try { while (i < len) { c = s.charAt(i++); if (c == '\\') { if (i = 4) { c = (char) Integer.parseInt(s.substring(i, i + 4), 16); i […]
如何解析动态字符串值以创建URL实例? 我需要用%20 ,重音符号,非ASCII字符替换空格……? 我试图使用URLEncoder但它也编码/字符,如果我将一个用URLEncoder编码的字符串给URL构造函数,我得到一个MalformedURLException (没有协议)。
我正在使用JAXP生成和解析XML文档,从该文档从数据库加载一些字段。 用于序列化XML的代码: DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument(); Element root = doc.createElement(“test”); root.setAttribute(“version”, text); doc.appendChild(root); DOMSource domSource = new DOMSource(doc); TransformerFactory tFactory = TransformerFactory.newInstance(); FileWriter out = new FileWriter(“test.xml”); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, “yes”); transformer.setOutputProperty(OutputKeys.ENCODING, “UTF-8”); transformer.transform(domSource, new StreamResult(out)); 解析XML的代码: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = […]
我正在尝试读取每行包含英文和阿拉伯字符的文件以及每行包含英文和中文字符的另一个文件。 然而,阿拉伯文和中文的字符无法正确显示 – 它们只是作为问号出现。 知道怎么解决这个问题吗? 这是我用来阅读的代码: try { String sCurrentLine; BufferedReader br = new BufferedReader(new FileReader(directionOfTargetFile)); int counter = 0; while ((sCurrentLine = br.readLine()) != null) { String lineFixedHolder = converter.fixParsedParagraph(sCurrentLine); System.out.println(“The line number “+ counter + ” contain : ” + sCurrentLine); counter++; } } 第01版 在读完该行并获得阿拉伯语和中文单词后,我使用一个函数来翻译它们,只需在ArrayList中搜索给定的阿拉伯语文本 (包含所有预期的单词)(使用indexOf();方法)。 然后当找到单词的索引时,它用于调用在另一个Arraylist中具有相同索引的英语单词。 但是,此搜索始终返回false,因为它在搜索问号而不是阿拉伯语和中文字符时失败。 所以我的System.out.println打印显示空值,每个转换失败一个。 *我正在使用Netbeans 6.8 Mac版IDE […]