在监督学习中,我有典型的训练/测试分割来学习算法,例如回归或分类。关于无监督学习,我的问题是:训练/测试拆分是否必要和有用?如果是,为什么?
我正在解析一个websocket消息,并且由于在特定的socket.io版本中发生了一个错误(不幸的是,我无法控制服务器端),因此某些有效载荷被双重编码为utf-8:
正确的值应该是Wroc?awskiej(请注意L字母是带有笔画的拉丁文小写字母L),但实际上我又返回了WrocÅawskiej。
我已经尝试过使用Java再次对其进行解码/编码
String str = new String(wrongEncoded.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)
不幸的是,字符串保持不变。关于如何在Java中执行双重解码的任何想法?我看到了一个python版本,他们raw_unicode先将其转换为原始版本,然后再次对其进行解析,但是我不知道这种方法是否有效,或者是否存在类似的Java解决方案。我已经阅读了有关该主题的几篇文章,但没有任何帮助。
编辑:为了澄清在提琴手,我收到上述提到的单词以下字节序列:
WrocÃÂawskiej
byte[] arrOutput = { 0x57, 0x72, 0x6F, 0x63, 0xC3, 0x85, 0xC2, 0x82, 0x61, 0x77, 0x73, 0x6B, 0x69, 0x65, 0x6A };
Run Code Online (Sandbox Code Playgroud)