2010-03-23 5 views
1

FTP를 통해 중국 이름 (BIG5 인코딩)의 일부 파일을 다운로드 중이며 Filezilla는 이러한 파일 이름을 가비지로 표시합니다 (FTP는 ASCII 및 UTF-8 이외의 인코딩을 처리 할 수 ​​없으므로 표준 호환 파일을 처리 할 수 ​​없음).왜곡 된 중국어 파일 이름을 복구 할 수 있습니까?

잘못된 문자가있는 파일 이름이 주어지면 이미 원본 인코딩을 알고 있으므로 인코딩을 복구하고 적절한 파일 이름 문자열을 얻을 수 있습니까? FTP 클라이언트가 BIG5를 다시 BIG5로 변환하는 UTF-8 삽입 바이트로 잘못 해석합니까?

내 제안 단계 (Java) : 1. File 객체를 사용하여 깨진 파일 이름을 가져옵니다. 2. UTF-8을 사용하는 getbytes. 3. BIG5에서 해당 바이트를 사용하여 새 문자열을 만듭니다. 4. 디코딩 된 파일 이름을 다시 파일에 씁니다.

위의 방법이 효과가 있습니까?

+0

몇 가지 예를 게시 할 수 있습니까? –

+0

할 수는 있지만 일반적인 가비지 문자열처럼 보입니다. 예 : .202.177.28.66/org/uoind/?C?ӹΫ? (원시 바이트 순서 도움말을 게시 할 것이라고? 문자열 자체가 모든 정보를 그대로 의심합니다.) – futureelite7

+0

원시 바이트 시퀀스를 게시 할 수 있으면 더 좋을 것입니다. –

답변

2

바이트의 모든 시퀀스가 ​​유효한 ASCII 또는 UTF-8 문자열이 아니므로 일부 바이트는 버려 졌거나 replacement character으로 변환되거나 그렇지 않으면 돌이킬 수 없게 엉망이 될 가능성이 큽니다. 따라서 FileZilla가 UTF-8 또는 ASCII로 올바르게 구성되도록 수정 한 경우 원본 파일 이름을 검색 할 수없는 것처럼 보입니다.

원래 BIG5와 UTF-8이 모두 유효했던 특정 비율의 원래 문자를 다시 얻을 수있어서 좋겠지 만 전체 파일 이름을 복구 할 수 있을지는 의문입니다.

더 명확한 답변을 얻으려면 (16 진수로 인코딩 된 원시 바이트로) 깨진 파일 이름의 몇 가지 예를 게시 할 수 있습니다. 그렇게하면 피해가 정확히 무엇인지 알 수 있습니다.

관련 문제