코드 골프를 할 때 보통 인쇄 할 수없는 문자를 사용했기 때문에 코드의 16 진 덤프가 필요한 경우가 있습니다. 그렇다면 Hex Dumps 자체 프로그램을 작성해 보시겠습니까?
도전
이 과제는 입력이 없으면 소스 코드의 16 진 덤프를 다음 형식으로 출력하는 것입니다.
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
또는 예를 들어 프로그램이 print("SomeString"):rep(123)
0000: 70 72 69 6e 74 28 5c 22 53 6f 6d 65 53 74 72 69 print("SomeStrin
0010: 6e 67 5c 22 29 3a 72 65 70 28 31 32 33 29 g"):rep(123)
사양
16 진 덤프는 소스 코드의 16 바이트를 나타내는 각 부분으로 세 부분으로 나뉩니다.
첫 번째 부분은 메모리 주소입니다. 코드에서 현재 행이 시작되는 위치를 지정합니다. 2 바이트 16 진수로 작성된 다음에:
공백이옵니다.
두 번째는 Hex Dump 자체입니다. 이것은 16 바이트 소스 코드의 16 바이트이며 공백으로 구분됩니다. 이것은 코드 인코딩을 사용한 정확한 바이트 표현이어야합니다.
마지막으로 두 개의 공백이 있으면 코드 자체입니다. 이것은 인쇄 할 수없는 문자는 다음과 같이 코드의 16 자입니다..
노트
- 이것은 이다 quine의 , 그래서 도전 표준 Quine 규칙이 적용됩니다.
- 그리고 이것은 또한 코드 골프 도전입니다. 표준 허점이 적용됩니다.
- 두 번째 예에서와 같이 EOF 뒤에 바이트를 쓰지 말고 공백을 사용하십시오.
- 후행 공백이 좋습니다.
- Inbuilts to Hex 덤프는이 특정 형식의 파일이 있으면 금지되지 않지만 눈살을 찌푸립니다.
- 인쇄 할 수없는 문자는 단일 바이트만으로 표현되고 단일 공백 글리프로 표현할 수없는 문자를 나타냅니다. UTF-8 수단이
0-31
,128-255
. 를 들어 젤리 코드 페이지 의 모든 문자가 하나의 간격 그래프로 표현 될 수있는, 더 비 인쇄 문자가 없습니다.
xxd
없습니까?