한자 목록을 추출하려고합니다.https://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MOBash 스크립트를 만드세요. 그러나 내가 달릴 때
curl -o list.txt https://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO
나는 컬이 웹사이트에서 사용하는 GB2312 인코딩 대신 UTF-8 인코딩을 사용하여 중국어 문자를 임의의 문자로 바꾸는 것을 발견했습니다. 그래서 내 질문은 다음과 같습니다. HTML을 다운로드하는 데 사용되는 인코딩 컬을 어떻게 변경합니까?
산출
curl --version
curl 8.0.1 (x86_64-pc-linux-gnu) libcurl/8.0.1 OpenSSL/3.0.8 zlib/1.2.13 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh2/1.10.0 nghttp2/1.52.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
CharConv
( 맨 페이지에 언급된 기능이 누락된 것으로 나타났습니다 .)
답변1
여기서 혼란스러운 점이 있습니다.
파일에는 실제로 수신된 것과 정확히 동일한 바이트만 포함됩니다. curl
변환은 수행되지 않습니다. 사실은 다르다표시방법이러한 바이트를 해석하기 위해 다른 인코딩을 선택하는 파일은 컬과 아무 관련이 없습니다!
브라우저가 사이트에 처음 액세스하면 사용할 인코딩을 알려주는 HTTP 헤더를 수신할 수 있습니다. 헤더는 콘텐츠의 일부가 아니므로 HTML이 포함된 파일에 저장할 수 없습니다.