gpt4 book ai didi

从 OS X 到 Windows 的 Java 编码

转载 作者:行者123 更新时间:2023-11-30 08:13:26 25 4
gpt4 key购买 nike

我用 swing GUI 做了一个原始的多客户端聊天。只要两个人都在同一个操作系统上编写,一切都可以正常工作。如果其中一个从 Windows 写入,另一个从 OS X 写入,则某些特殊字符的编码会变得疯狂。 (我来自 CZE,我们使用字符为 š、ě、č、ř、ž...)。我搜索了很长时间,但没有找到任何有用的信息。

我的输入和输出定义为:

in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
out = new PrintWriter(new OutputStreamWriter(soc.getOutputStream()));

其中 soc 是用于连接服务器端的套接字。

发送过程很简单:

out.println(message);

其中 message 是一个字符串,我通过调用 .getText() 方法从 JTextArea 获取该字符串

我知道为什么会出现这个问题,但我找不到任何合理的解决方案。任何帮助将不胜感激。

谢谢

最佳答案

从输入/输出流读取字符数据时,最好始终指定字符编码。否则,将使用平台默认编码(在所有系统上可能不相同)。

in = new BufferedReader(new InputStreamReader(soc.getInputStream(), StandardCharsets.UTF_8));
out = new PrintWriter(new OutputStreamWriter(soc.getOutputStream(), StandardCharsets.UTF_8));

关于从 OS X 到 Windows 的 Java 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015467/

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