gpt4 book ai didi

java - 带有变音符号的响应文本的内容长度错误

转载 作者:搜寻专家 更新时间:2023-11-01 02:25:51 25 4
gpt4 key购买 nike

存在与元音变音相关的问题。我根据要求得到描述:

@RequestMapping(value = "/description", method = RequestMethod.POST, consumes = "application/json", produces = "text/plain;charset=UTF-8")
@ResponseBody
private String getDescription() {

return "ärchik";
}

在前端 response.responseText 未能对最后一个字母进行评分response.responseText = "ärchi"

我发现问题在错误的Content-Length: 7如果设置 Content-Length:8,那么它将起作用并返回完整描述“ärchik”

但我不明白为什么是8?

"ärchik".getBytes("UTF-8").length = 7

响应 header

缓存控制:必须重新验证

内容长度:7

Content-Type:text/plain;charset=utf-8

日期:2014 年 4 月 14 日星期一 09:08:26 GMT

服务器:Apache-Coyote/1.1

最佳答案

我正在将我的评论的核心变成一个答案,因为我似乎走在了正确的轨道上。

字符串比预期长一个字节的最可能原因是 'ä' 被编码为三个字节而不是两个字节。如果不使用预组合代码点 U+00E4(UTF-8:c3 a4)而是使用字母 'a'(这是一个简单的 ASCII 字母U+0061) 然后是 combining diaresis U+0308,一起编码为61 cc 88。有几个normal forms for Unicode , 较长的编码通常是转换为 NFD 的结果。

看看您自己的答案,您似乎只是进行了规范化,在内容长度已经从非规范化(或者可能是 NFC 规范化)字符串确定的地方。

关于java - 带有变音符号的响应文本的内容长度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23056601/

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