텍스트가 아닌 파일을 캡처하면 어떻게 되나요?

텍스트가 아닌 파일을 캡처하면 어떻게 되나요?

단순한 텍스트 이상의 파일에 대해 cat을 실행하면 많은 수의 문자가 반환됩니다(대부분은 다음과 같습니다). 이 데이터는 무엇입니까?

답변1

텍스트가 아닌 파일의 많은 데이터는 사용 가능한 문자 집합의 문자를 사용하여 표현할 수 없습니다. 이 데이터를 cat으로 처리하여 화면에 표시하면 다른 표시 방법이 없기 때문에 ��� 등의 의미 없는 문자로 표시됩니다.

답변2

사실 그는 '의미 없는 캐릭터'는 아니다. 이것은 유니코드입니다문자 바꾸기. 합법적인 UTF-8 코드가 아닌 바이트를 표시하려고 하면 UTF-8 인코딩을 사용하는 터미널에 표시됩니다. 그것가능한터미널에서 사용 가능한 글꼴이 특정 글꼴을 제공하지 않을 때 표시됩니다. (그러나 그럴 가능성은 매우 낮습니다.)합법적인유니코드 값이지만 이 경우 비어 있을 가능성이 높습니다.

일반적으로 코드 32-126(US-ASCII, POSIX Portable Character Set)을 인쇄할 수 있습니다. 코드 160-255는 ISO-8859-1 인코딩으로 인쇄할 수 있지만아니요UTF-8로 인코딩된 유니코드 값을 구성하는 두 개 이상의 바이트 중 하나이기 때문에 UTF-8로 사용됩니다. 마찬가지로 코드 128-159는 ISO-8859-1(및 비인쇄)의 제어 문자이지만 UTF-8에서는 2개 이상의 바이트 중 하나입니다.

텍스트가 아닌 파일이 있는 경우 cat128-255 범위의 바이트가 있을 수 있으며 해당 바이트는 합법적인 UTF-8 값을 형성할 가능성이 없습니다. 그래서 당신은 볼 것입니다.

추가 자료:

관련 정보