我最近不得不将我正在处理的webapp的编码切换ISO-xx到utf8.一切顺利,除了属性文件.我加入-Dfile.encoding=UTF-8了eclipse.ini,普通文件工作正常.然而属性显示出一些奇怪的行为
如果我utf8从Notepad ++ 复制编码属性并将它们粘贴到Eclipse中,它们会显示并正常工作.当我重新打开属性文件时,我看到一些Unicode字符而不是正确的字符,如:
Zur\u00EF\u00BF\u00BDck instead of Zurück
Run Code Online (Sandbox Code Playgroud)
但应用程序仍然正常.如果我开始编辑属性,添加一些特殊字符并保存,它们会正确显示,但它们不起作用,所有以前工作的特殊字符都不再起作用.
当我将本地版本与CVS进行比较时,我可以在远程文件上正确地看到特殊字符,并且在更新之后我再次开始:app工作,但Eclipse显示Unicode字符.
我尝试通过右键单击并选择"其他:UTF8"来更改文件编码,但它没有帮助.它还说:"根据内容确定:ISO-8859-1"
我正在使用基于Eclipse 3.3的Java 6和Jboss Developer
我可以通过在Notepad ++中编辑属性并在Eclipse中粘贴它们来使用它,但如果有人可以帮助我在Eclipse中修复它,我将不胜感激.
我们尝试从字符串转换为Byte[]使用以下Java代码:
String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16");
Run Code Online (Sandbox Code Playgroud)
我们得到一个长度为22个字节的字节数组,我们不确定这个填充来自何处.如何获得长度为20的数组?
我正在尝试转换UTF-8为base64字符串.
示例:我有"abcdef ==" UTF-8.它实际上是一个base64字符串的"表示" .
我怎样才能检索"ABCDEF ==" base64字符串(请注意,我不希望有一个"ABCDEF ==""翻译"的UTF-8,我想在编码的字符串base64这是 "ABCDEF ==").
编辑
由于我的问题似乎不清楚,这是一个重新制定:
我的字节数组(假设我将其命名为A)由base64字符串表示.转换A base64给我"abcdef ==".
此字符串表示形式通过UTF-8中的套接字发送(请注意,UTF-8和base64中的字符串表示形式完全相同).所以我收到一条UTF-8消息,其中包含UTF-8中的"whatever/abcdef ==/whatever".
所以我需要从这个套接字消息中检索base64"abcedf =="字符串才能获得A.
我希望这更清楚!
我正在尝试从网络上获取图像并使用base64对其进行编码.
我到目前为止基本上是:
var request = require('request');
var BufferList = require('bufferlist').BufferList;
bl = new BufferList(),
request({uri:'http://tinypng.org/images/example-shrunk-8cadd4c7.png',responseBodyStream: bl}, function (error, response, body)
{
if (!error && response.statusCode == 200)
{
var type = response.headers["content-type"];
var prefix = "data:" + type + ";base64,";
var base64 = new Buffer(bl.toString(), 'binary').toString('base64');
var data = prefix + base64;
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
这似乎非常接近解决方案,但我无法让它工作.它识别数据类型并给出输出:
data:image/png;base64
Run Code Online (Sandbox Code Playgroud)
但缓冲列表'bl'似乎是空的.
提前致谢!
我有一个ANSI编码的文本文件,不应该编码为ANSI,因为ANSI不支持重音字符.我宁愿使用UTF-8.
数据可以正确解码还是在转码中丢失?
我可以使用哪些工具?
以下是我的样本:
ç é
Run Code Online (Sandbox Code Playgroud)
我可以从上下文(café应该是café)告诉我们这些应该是这两个字符:
ç é
Run Code Online (Sandbox Code Playgroud) 我有一个构建URL的Silverlight应用程序.此URL是对基于REST的服务的调用.此服务需要一个表示位置的参数.位置是"城市,州"的形式.要构建此URL,我将调用以下代码:
string url = "http://www.example.com/myService.svc/";
url += HttpUtility.UrlEncode(locationTextBox.Text);
Run Code Online (Sandbox Code Playgroud)
如果用户在locationTextBox中输入"chicago,il",结果如下所示:
http://www.example.com/myService.svc/chicago%2c+il
Run Code Online (Sandbox Code Playgroud)
但实际上,我有点期待网址看起来像;
http://www.example.com/myService.svc/chicago,%20il
Run Code Online (Sandbox Code Playgroud)
通过浏览器URL测试我的服务时,我期待的那个工作.但是,生成的URL无法正常工作.我究竟做错了什么?
我在Java的内部表示中搜索了String,但我有两种看起来可靠但不一致的材料.
一个是:
http://www.codeguru.com/cpp/misc/misc/multi-lingualsupport/article.php/c10451
它说:
Java使用UTF-16作为内部文本表示,并支持对字符串序列化进行非标准的UTF-8修改.
另一个是:
它说:
Tcl也使用与Java相同的修改后的UTF-8 [25]来表示Unicode数据,但对外部数据使用严格的CESU-8.
修改过的UTF-8?还是UTF-16?哪一个是正确的?Java在内存中使用了多少字节?
请让我知道哪一个是正确的以及它使用了多少字节.
http://lcamtuf.coredump.cx/squirrel/
据作者说,
这是图像的嵌入式登录页面.您可以链接到此URL并获取您正在查看的HTML文档(很快就会包含必要的松鼠事实); 或者在您自己的松鼠主题页面上嵌入与图像完全相同的URL:
<a href="http://lcamtuf.coredump.cx/squirrel/">Click here!</a> <img src="http://lcamtuf.coredump.cx/squirrel/">不涉及服务器端黑客 - 魔术发生在您的浏览器中.
换句话说,如果您将该URL弹出到浏览器中,它将呈现为网页,但您也可以使用相同的URL作为图像源.
什么样的巫术在这里工作?
(编辑:如果该网站脱机,则来自上述链接的源代码.)
在尝试安装opennms时:
/usr/share/opennms/bin/install -l /usr/local/lib -dis
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误:编码UTF8与区域设置en_US不匹配详细信息:所选的LC_CTYPE设置需要编码LATIN1.
我不知道如何继续,因为我尝试了几种不同的方式创建数据库(见下文).
完整日志:
==============================================================================
OpenNMS Installer
==============================================================================
Configures PostgreSQL tables, users, and other miscellaneous settings.
- searching for jicmp:
- trying to load /usr/local/lib/libjicmp.so: NO
- trying to load /usr/lib/jni/libjicmp.so: OK
- searching for jicmp6:
- trying to load /usr/local/lib/libjicmp6.so: NO
- trying to load /usr/lib/jni/libjicmp6.so: OK
- searching for jrrd:
- trying to load /usr/local/lib/libjrrd.so: NO
- trying to load /usr/lib/jni/libjrrd.so: NO
- trying to load /usr/lib/jni/libjrrd.so: NO
- trying to load /usr/lib/jvm/jdk1.6.0_34/jre/lib/amd64/server/libjrrd.so: …Run Code Online (Sandbox Code Playgroud) 当我尝试连接它时,当字段包含'ñ'或'''时,我得到UnicodeDecodeError.如果包含'ñ'或'''的字段是最后一个我没有收到错误.
#...
nombre = fabrica
nombre = nombre.encode("utf-8") + '-' + sector.encode("utf-8")
nombre = nombre.encode("utf-8") + '-' + unidad.encode("utf-8")
#...
return nombre
Run Code Online (Sandbox Code Playgroud)
任何的想法?非常感谢!