Linux/Unix 에서 iconv 를 사용 하여 인 코딩 변환
5182 단어 iconv파일 인 코딩 변환파일 이름 인 코딩 변환enca
1. Linux 명령 을 사용 하여 파일 인 코딩 을 확인 합 니 다.
file test.txt
ISO-8859 text, with CRLF line terminators
다음 명령 을 사용 하여 더욱 정확 한 인 코딩 을 얻 기 시작 합 니 다.
file -bi test.txt | sed -e 's/.*[ ]charset=//' |tr '[a-z]' '[A-Z'
ISO-8859-1
test. txt 파일 인 코딩 이 ISO - 8859 - 1 인 코딩 임 을 알 수 있 습 니 다.
2. iconv - l 을 사용 하여 iconv 가 이러한 인 코딩 의 변환 을 지원 하 는 지 확인 합 니 다.
$ iconv -l | grep ISO-8859-1
ISO-8859-1//
ISO-8859-10//
ISO-8859-11//
ISO-8859-13//
ISO-8859-14//
ISO-8859-15//
ISO-8859-16//
3. 확인 file/Unix 운영 체제 인 코딩:
$ echo $LANG
zh_CN.UTF-8
현재 운영 체제 오류 인 코딩 은 "UTF - 8"입 니 다.
4. 변환 코드
주: file 명령 이 자주 인 코딩 을 오심 하기 때문에 변 환 된 인 코딩 이 여전히 난 장 판 인 것 을 발견 하면 iconv - f 의 입력 인 코딩 을 다른 상용 인 코딩 으로 바 꿀 수 있 습 니 다. GBK, BIG 5, HZ, GB 2312, GB 18030, ASCII.
또한 인 코딩 을 변환 할 때 원본 형식 을 GB 2312 로 설정 하면 UTF - 8 로 변환 할 때 프로그램 이 'illegal input sequence at position xxxx' 의 오 류 를 보고 합 니 다.이것 은 네가 이전에 한 가정 에 문제 가 있 기 때문이다.GB 2312 는 국가 표준 중 가장 작고 최초의 중국어 코드 표준 이다.이 가운데 한자 6, 763 개 만 포함 됐다.그래서 변환 해 야 할 파일 의 원본 형식 은 GB 2312 인 코딩 이 아 닐 수도 있 습 니 다.이 럴 때 GB 18030 을 소스 형식 으로 바 꿀 수 있다.GB 18030 은 최신 국가 표준 으로 27, 564 개의 한 자 를 포함 하고 GB 2312 와 GBK 를 아래로 호 환 한다.
가정 한 문자 집합 지정, 상기 상황 은 iconv 에 - c 옵션 을 추가 할 수 있 습 니 다. 잘못된 문 자 를 무시 하고 변환 에 성공 할 수 있 습 니 다.
iconv 명령 은 지정 한 파일 의 인 코딩 을 변환 하 는 데 사 용 됩 니 다. 기본 값 은 표준 출력 장치 로 출력 되 고 출력 파일 도 지정 할 수 있 습 니 다.
용법: iconv [옵션...] [파일...]
다음 옵션 을 사용 할 수 있 습 니 다:
입 출력 형식:
- f, -- from - code = 이름 원본 텍스트 인 코딩
- t, -- to - code = 이름 출력 인 코딩
정보:
- l, -- list 는 이미 알 고 있 는 모든 문자 집합 을 열거 합 니 다.
출력 제어:
- c 출력 에서 잘못된 문자 무시
- o, -- output = FILE 출력 파일
- s, -- silent 종료 경고
-- verbose 출력 진행 정보
-?, --help 이 시스템 도움말 목록 을 보 여 줍 니 다.
-- usage 는 간략 한 용법 정 보 를 제공한다
- V, -- version 프린터 버 전 번호
예:
iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt
이 명령 은 aaa. txt 파일 을 읽 고 utf - 8 인 코딩 에서 gb 2312 인 코딩 으로 변환 하 며 출력 은 bb. txt 파일 로 향 합 니 다.
첨부:
파일 이름 변환
현재 Liux 를 사용 하고 있 기 때문에 windows 에 있 던 파일 은 모두 GBK 로 인 코딩 되 어 있 었 다.그래서 copy 에서 Liux 까지 는 어 지 러 운 코드 입 니 다. 파일 내용 은 iconv 로 변환 할 수 있 지만 많은 중국어 파일 이름 인지 어 지 러 운 코드 입 니 다. 파일 이름 인 코딩 을 변환 할 수 있 는 명령 을 찾 으 면 convmv 입 니 다.
convmv 명령 상세 매개 변수
예컨대
convmv -f GBK -t UTF-8 *.mp3
그러나 이 명령 은 직접적 으로 바 뀌 지 않 는 다. 전환 전후의 대 비 를 볼 수 있다.바 르 게 전환 하려 면 인자 -- notest 를 추가 해 야 합 니 다.
convmv -f GBK -t UTF-8 --notest *.mp3
- f 매개 변 수 는 변환 전의 인 코딩 을 가리 키 며, - t 는 변환 후의 인 코딩 입 니 다.이거 절대 틀 리 지 마.안 그러면 난 장 판 일 수도 있어.또 하나의 매개 변 수 는 매우 유용 하 다.바로 - r 이것 은 현재 디 렉 터 리 의 모든 하위 디 렉 터 리 를 재 귀적 으로 변환 하 는 것 을 나타 낸다.
3. 더 좋 은 바보 형 명령 행 도구 enca 는 파일 의 인 코딩 을 스마트 하 게 식별 할 수 있 을 뿐만 아니 라 일괄 변환 도 지원 합 니 다.
1. 설치
$sudo apt-get install enca
2. 현재 파일 인 코딩 보기
enca -L zh_CN ip.txt
Simplified Chinese National Standard; GB2312
Surrounded by/intermixed with non-text data
3. 전환
명령 형식 은 다음 과 같다.
$enca - L 현재 언어 - x 대상 인 코딩 파일 이름
예 를 들 어 현재 디 렉 터 리 에 있 는 모든 파일 을 utf - 8 로 변환 합 니 다.
enca -L zh_CN -x utf-8 *
enca -L zh_CN file 검사 파일 의 인 코딩
enca -L zh_CN - x UTF - 8 file 파일 인 코딩 을 "UTF - 8"인 코딩 으로 변환
enca -L zh_CN - x UTF - 8 < file 1 > file 2 원본 파일 을 덮어 쓰 지 않 으 려 면 간단 하 죠.
사실 notepad++ 로 변환 할 수 있 습 니 다. notepad + 변환 은 매우 간단 합 니 다. windows 에 서 는 Notepad + 로 파일 형식 을 연 후 '형식' 도구 모음 을 선택 한 다음 어떤 형식 으로 변환 할 지 선택 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux/Unix 에서 iconv 를 사용 하여 인 코딩 변환이 때 를 사용 하여 인 코딩 변환 을 하여 어 지 러 운 문 제 를 해결 할 수 있 습 니 다.텍스트 파일 의 인 코딩 문 제 를 해결 하 는 것 은 3 단계 로 나 뉜 다. 또한 인 코딩 을 변환 할 때 원본 형...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.