gpt4 book ai didi

java - Java(Linux)和Windows系统之间的字符编码

转载 作者:行者123 更新时间:2023-12-02 00:14:32 25 4
gpt4 key购买 nike

我有一个简单的程序,它向运行一个服务的远程服务器发出请求,我相信该服务是用 Delphi 编写的,但肯定在 Windows 上运行。

我被告知该服务将使用 Windows 的默认编码。

当我收到响应并使用 println 输出它时,我在输出中收到一些奇怪的符号,这让我认为这是字符编码问题。

如何告诉 Java 来自远程系统的输入采用 Windows 编码?

我尝试过以下方法:

_receive = new BufferedReader(new InputStreamReader(_socket.getInputStream(),"ISO-8859-1"));
_System.out.println(_receive.readLine());

额外的字符在输出中显示为方 block ,方 block 中有 4 个数字。

最佳答案

除非您知道“默认编码”是什么,否则您无法分辨它是什么。 “默认编码”通常是系统全局代码页,不同系统上的默认编码可能不同。

你真的应该尝试让人们使用双方都同意的编码;现在,它几乎应该总是 UTF-16 或 UTF-8。

顺便说一句,如果您在 Windows 机器上发送一个字符,并且在 Java 机器上收到多个“奇怪的符号”,则很有可能 Windows 机器已经在发送 UTF-8。

关于java - Java(Linux)和Windows系统之间的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com