相关疑难解决方法(0)

将字符串编码为UTF-8

我有一个带有"ñ"字符的字符串,我遇到了一些问题.我需要将此String编码为UTF-8编码.我通过这种方式尝试过,但它不起作用:

byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

如何将该字符串编码为utf-8?

java utf-8

176
推荐指数
8
解决办法
90万
查看次数

从编译到运行时,Java String编码如何真正起作用

我最近意识到我并不完全理解Java的字符串编码过程.

请考虑以下代码:

public class Main
{
    public static void main(String[] args)
    {
        System.out.println(java.nio.charset.Charset.defaultCharset().name());
        System.out.println("ack char: ^"); /* where ^ = 0x06, the ack char */
    }
}
Run Code Online (Sandbox Code Playgroud)

由于控制字符在windows-1252和ISO-8859-1之间的解释不同,我选择了ackchar进行测试.

我现在用不同的文件编码,UTF-8,windows-1252ISO-8859-1编译它.两者都编译为完全相同的事情,每个字节的字节经过验证md5sum.

然后我运行程序:

$ java Main | hexdump -C
00000000  55 54 46 2d 38 0a 61 63  6b 20 63 68 61 72 3a 20  |UTF-8.ack char: |
00000010  06 0a                                             |..|
00000012

$ java -Dfile.encoding=iso-8859-1 Main | hexdump -C
00000000  49 …
Run Code Online (Sandbox Code Playgroud)

java string character-encoding

18
推荐指数
2
解决办法
7894
查看次数

协议缓冲日志记录

在我们的业务中,我们需要记录进入我们服务器的每个请求/响应.目前,我们使用xml作为标准实现.如果我们需要调试/跟踪某些错误,则使用日志文件.

如果我们切换到协议缓冲区,我有点好奇,因为它是二进制的,记录请求/响应文件的最佳方法是什么?

例如:

FileOutputStream output = new FileOutputStream("\ files\log.txt"); request.build()的writeTo(outout).

对于在您的应用程序中使用了协议缓冲区的任何人,如何记录您的请求/响应,以防我们需要它进行调试?

谢谢

buffer protocols protocol-buffers

7
推荐指数
1
解决办法
5796
查看次数

Java中如何将八进制字符序列转换为unicode

您好,有以下字符串,

Let\342\200\231s start with the most obvious question first. This is what an \342\200\234unfurl\342\200\235 is

它应该显示为 前三个数字 ( \342\200\231) 实际上表示一个八进制序列http://graphemica.com/%E2%80%99,它的 unicode 等效项是\u2019

类似地\342\200\234表示八进制序列http://graphemica.com/%E2%80%9C,其等效的 unicode 是\u201C

是否有任何库或函数可以用来将这些八进制序列转换为其等效的 unicode 序列?

java unicode

3
推荐指数
1
解决办法
2175
查看次数