JSON 문자열이 있는 경우 이를 저장하는 데 필요한 바이트 수를 어떻게 계산합니까?

JSON 문자열이 있는 경우 이를 저장하는 데 필요한 바이트 수를 어떻게 계산합니까?

웹 페이지에 json 문자열 형식이 표시되어 있습니다. 내가 알고 싶은 것은 이 json 문자열에 필요한 바이트 크기입니다.
복사하고 에 파이프하면 문자 수를 wc -c얻을 수 있지만 1000인터넷 검색에서 제안을 본 것처럼 json 문자열이 1000바이트라는 의미는 아닙니다.
내가 혼란스러워하는 이유는 다음과 같습니다.
Java에서 예를 들어 a는 String으로 구성되며 char각 문자는 utf-8을 지원하기 위해 2바이트입니다. Json은 utf-8도 지원하므로 json 문자열의 크기가 2000바이트여야 하는지 고려해야 하는지, 아니면 이 문제를 해결할 수 있는 방법이 있는지 잘 모르겠습니다.

답변1

AFAIK, Java는 내부적으로 U+0000에서 U+FFFF까지의 문자(문자가 아닌 U+D800..U+DFFF 제외)가 16비트(2바이트)로 인코딩되는 UTF-16을 사용하고, 다른 모든 문자( U+10000 ~ U+10FFFF)는 32비트(2개의 16비트 니블, 4바이트)입니다.

JSON 문자열은 일반적으로 최신 버전의 UTF-8로 인코딩됩니다.RFC, 심지어교환이 필요하다).

UTF-8은 문자에 따라 1~4바이트의 문자를 인코딩합니다. 특히 의 모든 문자는 String1바이트로 인코딩됩니다.

분명히 "JSON 문자열에는 주위에 2바이트를 추가하는 (싱글바이트) 문자가 있습니다.문자를 이스케이프할 수 있음.

예를 들어,

관련 정보