サロゲートペア文字?
今朝、Claude Code を使っていたら、次のようなエラーが出た。
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"The request body is not valid JSON: no low surrogate in string: line 1 column 203118 (char
203117)"},"request_id":"req_011CTXnVuPoNVrxnj5y2j8qC"}
JSON 中に不正な Unicode 文字(特に「 surrogate pair 」)が含まれているとのこと。
サロゲートペア文字?
そんなものは一切使っていない。
サロゲートペア文字は、16 ビットでは表せない Unicode 文字を、2 つの 16 ビットで表現する方法である。
つまり、日本語はひらがなや漢字や絵文字など、16 ビットのデータ量でも表すことができなくなるくらい文字の種類がおおいので、一部の文字が 16 ビットが収まりきらなくなった。
その収まりきらなくなった一部の文字が、サロゲートペア文字と言われている。
しかし私の記憶では、サロゲートペア文字はほとんどないはずだ。
ましてや、日常生活で使うような文字や絵文字ではなかったはずだ。
案の定、いったん Claude Code のコンソールを閉じ、再度 Claude Code を立ち上げ直したところ、今度は問題なくこのファイルを処理することができた。
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"The request body is not valid JSON: no low surrogate in string: line 1 column 203118 (char
203117)"},"request_id":"req_011CTXnVuPoNVrxnj5y2j8qC"}
JSON 中に不正な Unicode 文字(特に「 surrogate pair 」)が含まれているとのこと。
サロゲートペア文字?
そんなものは一切使っていない。
サロゲートペア文字は、16 ビットでは表せない Unicode 文字を、2 つの 16 ビットで表現する方法である。
つまり、日本語はひらがなや漢字や絵文字など、16 ビットのデータ量でも表すことができなくなるくらい文字の種類がおおいので、一部の文字が 16 ビットが収まりきらなくなった。
その収まりきらなくなった一部の文字が、サロゲートペア文字と言われている。
しかし私の記憶では、サロゲートペア文字はほとんどないはずだ。
ましてや、日常生活で使うような文字や絵文字ではなかったはずだ。
案の定、いったん Claude Code のコンソールを閉じ、再度 Claude Code を立ち上げ直したところ、今度は問題なくこのファイルを処理することができた。