2010-03-26 5 views
14

최근의 문제는 파일이 보이지 않더라도 파일의 모든 문자를 볼 수있는 텍스트 편집기가 있는지 궁금합니다. 특히, 나는 16 진수 편집 기능을 찾고 있지 않다. 모든 보이지 않는 문자 (일반적인 공백/줄 바꿈 문자뿐만 아니라)를 모두 보여줄 텍스트 편집기에 관심이있다. BOM marker은 단지 하나의 예이며, 다른 예는 다음과 같습니다. mathematical invisibles 또는 가능하면 unsupported characters입니다.invisibles를 볼 수있는 텍스트 편집기?

인코딩 사이에 다양한 텍스트 인코딩/변환을 지원하는 텍스트 편집기를 찾고 있지 않습니다. 필자가 만났던 모든 텍스트 편집기는 보이지 않는 문자를 정확하게 취급합니다. 즉, 보이지 않는 채로 두거나 (단순히 BOM 표식의 경우처럼 번역에서 제거됩니다).

저는 주로 학문적 관심사를 묻고 있습니다. 그래서 특정 OS에 대해 특별히 신경 쓰지 않습니다. Linux 및 OSX 솔루션을 쉽게 테스트 할 수 있지만 Windows 편집기를 권장하는 경우 편집기가 공백/줄 바꿈 이외의 보이지 않는 부분을 처리하는 방법에 대한 설명을 포함하면 감사하게 생각합니다.

편집 : 내가 원하는 동작을 emacs/vim에서 사용자 지정 강조 표시를 사용하거나 글꼴 자체를 어지럽히기를 통해 구현할 수 있는지 확인하기 시작했습니다. 이 유형의 솔루션도 사용할 수 있습니다.

EDIT2 : 몇 가지 옵션을 살펴본 후 보이지 않는 UTF-8 문자가 파일에있는 빈 공간을 최소한 보여주는 TextMate를 발견했습니다. 나의 질문에 대답하는 SO의 능력에 약간 실망했다. Bounty는 솔루션이 가장 가능성있는 방향이기 때문에 VIM으로갑니다.


*이 질문에 저를 이끌어 사건 : 나는 TextWrangler를 사용하여 펄 스크립트를 작성하고 파일의 시작 부분에 BOM 마커를 삽입 UTF8 BOM에 인코딩을 변경 할 수 있었다. Perl (또는 오히려 운영 체제)은 #! 그리고 신체 상해는 계속된다. 그런 다음 대부분의 텍스트 편집기가 다양한 "show invisible"옵션이 켜져 있어도 BOM 마커를 표시하지 않기 때문에 오후에 더 나은 부분을 파악했습니다. 지금 나는 나의 수업을 배웠고 즉시 less을 사용할 것이다 :-).

+3

Perl은 #! 줄을 처리하지 못하며, 주석입니다. 당신의 OS가 구문 분석을 시도합니다. 어쨌든 emacs + hexl-mode는 모든 것을 보여줍니다 .. – jrockway

+0

나는 그 펄 비트에 대해 정정 당했지만, – Timo

+1

편집기가 필요한 플랫폼은 무엇입니까? Windows? Linux? OS X? Amiga? – bta

답변

18

vim (텍스트 또는 그래픽 모드)은 :set list 인 경우 모든 제어 문자를 표시 할 수 있습니다. BOM은 :set bomb 또는 :set nobomb 명령으로 제어되는 특별한 경우입니다.

+1

그래, 나는이 문제를 생각할 때 실제로 vim을 먼저 체크했다. 보이지 않는 부분을 삽입 할 수 있습니다 (예 : 보이지 않는 수학 "시간"에 대해서는 "CTRL-V u2062"하지만 vim이이 캐릭터를 보여줄 방법이 없습니다. 인코딩을 전환하면 무언가 보이지만 삽입 한 캐릭터가 엉망이됩니다. – Timo

+0

자, 자. 그럼에도 불구하고 내가 찾던 대답은 아니지만 가장 좋은 답변입니다. – Timo

7

메모장 ++ 암석 : 비주얼 스튜디오의 파일 열기 대화 상자에서

npp

+0

메모장 + +에서 UTF8 BOM 파일이 어떻게 보이는지 확인할 수 있습니까? 구체적으로 첫 문자로 이 표시됩니까? – Timo

+6

-1 Notepad ++ 6.1.2 표시 문자로 을 절대로 표시하지 않습니다. –

+1

그것은 상태 표시 줄에서 파일이 BOM을 사용하는지 여부를 나타냅니다. – axxis

8

에서, 열기 푸시 버튼은 당신이 열기와 함께 ...를 선택할 수 있습니다 옆에있는 아래쪽 화살표를 가지고있다. 결과 대화 상자의 옵션 중 하나는 바이너리 편집기입니다.

저는 이것을 사용하여 보이지 않는 문자를 보거나 줄 끝 문제를 해결했습니다.

2

무료인데도 UltraEdit을 선호합니다. 강력한 16 진수보기 모드를 포함하여 숨겨진 문자를 표시 할 수 있습니다. (IDM 게시자와 제휴하지 않았습니다.

+0

Ultraedit에서 숨겨진 문자를 표시하는 방법은 무엇입니까? – newenglander

+0

@newenglander 도움말/매뉴얼은 질문을 다루지 만보기 메뉴 아래에 있습니다 :'공백/탭 표시'및''줄 끝 표시' '가 있습니다. – JYelton

1

나는 그것을 잠시 사용하지 않았기 때문에 확실하지 않지만, SciTE이 내 요구에 "너무 많은 정보"를 보여준 좋은 제품이라는 것을 기억합니다.

Programmer's Notepad Windows에서 작동 할 수도 있습니다.

TextPad

나는 상자 밖으로 숨겨진 문자를 표시합니다 이들 중 어떤 모르겠지만, 그들은 모두 "확정"물건을 위해 만든 것, 그래서 가정 (그것은의 내그웨어는 윈도우에서 실행) 적어도 조금 조정하면 효과가있을 것입니다. 프로그래머의 메모장에 "숨겨진"문자가 표시되는지 확인할 수 있습니다.

2

동일한 제한 사항이 있습니다. 제 특정 문제는 제로 너비 공간 인 U + 200B와 너비가 아닌 비 연결자 인 U + 200C와 같은 문자를 표시 할 수 있어야한다는 것입니다. (달리 크메르어와 같은 언어를 사용하는 전자 텍스트에서 사용되는데 공백으로 단어를 분리하지 않습니다.) "플랫폼은 중요하지 않습니다"대신 Windows Linux 버전의 편집기가 필요하며 Mac도 있습니다. 바람직한.

일부는 (많이?) 사용자가 입력 할 수 있고 잘라내어 붙여 넣을 수있는 문자로 적절하게 처리 할 수 ​​있지만 텍스트를 화면에 표시 할 수있는 텍스트 편집기를 찾지 못했습니다. 커서 이동을 통해 표시됩니다. (화면에 "if"가 표시되고 "i"와 "f"사이에 세 개의 ZWSP가있는 경우 "i"에서 "f"로 이동하려면 화살표 키를 네 번 눌러야합니다)

TextPad 4.7.3은 그렇지 않으면 내 텍스트 편집기를 선택하지만 스크립트 허용 여부는 매우 제한적입니다. 그리고 TextPad 5에서는 이러한 보이지 않는 부분을 확실히 표시하지 않습니다.

보이지 않는이 켜져 이러한 캐릭터의 위치에 회색 슬래시가 표시됩니다 나는 종종 OpenOffice.org Writer를에 내 파일을 열기에 의지 한

, 및 이중 상자를 표시 마이크로 소프트 워드 (상자 상자 안에서) 보이지 않는 캐릭터. 이 더블 박스는 너비가 있으며 화면에 줄 바꿈을 변경합니다. 이는 다른 편집기에서는 볼 수 없었던 사소한 것이 아닙니다.

+0

와우, ++는 실제 사용 사례를 제시합니다! 내 말은 내가 호기심에서 벗어나려고하고 있다는 뜻이다. 어쨌든, 나는 이것을 구현하는 가장 쉬운 방법은 원하는 모든 ZWSP 문자에 대한 특수한 글리프를 포함하는 사용자 정의 utf-8 글꼴 맵을 만드는 것입니다. 이것은 또한 크로스 플랫폼으로 만들어야합니다. 좋아하는 편집기가 사용자 정의 글꼴을 사용하는 방법을 알아내는 것만으로도 충분합니다. – Timo

5

EMACS에서 파일을 열고 M-X 헥스 모드로 실행하십시오.

 
87654321 0011 2233 4455 6677 8899 aabb ccdd eeffabcdef        
00000000: 2320 2020 2020 2020 2020 2020 2020 2020 #    
00000010: 2020 2020 2020 2020 2020 2020 2020 2020     
00000020: 2020 2020 2020 2020 2020 2020 2020 2020     
00000030: 2d2a 2d20 4175 746f 636f 6e66 202d 2a2d -*- Autoconf -*- 
00000040: 0a23 2050 726f 6365 7373 2074 6869 7320 .# Process this 
00000050: 6669 6c65 2077 6974 6820 6175 746f 636f file with autoco 
00000060: 6e66 2074 6f20 7072 6f64 7563 6520 6120 nf to produce a 
00000070: 636f 6e66 6967 7572 6520 7363 7269 7074 configure script 
00000080: 2e0a 2320 4f72 6465 7220 6973 206c 6172 ..# Order is lar 
00000090: 6765 6c79 2069 7272 6576 656c 6c61 6e74 gely irrevellant 
000000a0: 2c20 616c 7468 6f75 6768 2069 7420 6d75 , although it mu 
000000b0: 7374 2073 7461 7274 2077 6974 6820 4143 st start with AC 
000000c0: 5f49 4e49 5420 616e 6420 656e 6420 7769 _INIT and end wi 
000000d0: 7468 2041 435f 4f55 5450 5554 0a23 2053 th AC_OUTPUT.# S 
000000e0: 6565 2068 7474 703a 2f2f 6175 746f 746f ee http://autoto 
000000f0: 6f6c 7365 742e 736f 7572 6365 666f 7267 olset.sourceforg 
00000100: 652e 6e65 742f 7475 746f 7269 616c 2e68 e.net/tutorial.h 
+2

그리고 ... 나 자신과 나는; Control-x Control-c = Emacs 환경을 종료합니다. – AnneTheAgile

1

당신이, 당신은 캐리지 리턴 또는 라인 등의 BOM을 다른 보이지 않는 문자를 볼 수있는 Windows의 32 비트 버전을 실행하는 경우는 그 음악 여덟째 같이 피드 :이처럼 보이는 디스플레이를 얻을 수 있습니다 MS Dos Editor에서 실행 상자 또는 명령 프롬프트에서 "편집"을 입력하여 열 수 있습니다. 는 불행하게도, MS의 도스 편집기는 여기. 64 비트 시스템 :(

2

또한 사용자의 메모장 ++을 보여줄 수에 사용할 수없는 예이다, 블랙 박스는 제어 문자입니다.

Notepad ++ Control Characters Example