今天遇到的报错:
java.lang.llegalArgumentException: Unexpected char 0x957f at 0 in x-brand value: 电视
堆栈
okhttp3.Headers.checkValue(Headers.java:272)
okhttp3.Headers$Builder.add(Headers.java:312)
okhttp3.Request$Builder.addHeader(Request.iava:196)
查了下源码,才发现 okhttp 在 3.12.0 版本开始,在okhttp3的 Headers 中新增了一组函数:

传入中文开始会无法通过检查而 crash
在 Unicode 字符集中,
\u001f到\u007f之间包含了一些特殊字符、标点符号、数字、大写字母、小写字母以及其他常见的 ASCII 字符。这个范围通常是指 ASCII 控制字符和可打印字符。以下是
\u001f到\u007f之间的一些常见字符:
ASCII 控制字符(
\u0000到\u001f):
\u001f: Unit Separator\u001e: Record Separator\u001d: Group Separator- 等等
可打印 ASCII 字符(
\u0020到\u007e):
- 空格
- 数字
0-9- 大写字母
A-Z- 小写字母
a-z- 标点符号
, . ! ?等等这个范围包括了 ASCII 字符集中的大部分常用字符,涵盖数字、字母、标点符号以及一些特殊字符。在文本处理和编程中,这些字符通常被认为是可打印字符或者基本的控制字符。


















