확장자가 vmd 인 파일 (Vocaloid Motion Data 0002)을 구문 분석하려고합니다. 나는 그것이 어떤 인코딩을 사용하는지 모른다. UTF-8, UTF-16, CS_ASCII 및 Windows-31j (Shift JIS)를 사용하여 시도했지만 아무 것도 작동하지 않았습니다. 그러나 대부분의 UTF-8은 바이트가 2이기 때문에 대부분의 문제를 해결해야합니다. 문자). 이 인코딩 문제, 또는 다른 문제가 있는지 궁금알 수없는 인코딩 파일은 어떻게 파싱합니까?
???~?N ??????????P ?Z???^?[ ??kkkkkkkk
:
String testFile = rawFilePath+"/test.vmd";
BufferedWriter bw = null;
FileWriter fw = null;
fw = new FileWriter(outputPath+"/newFile.txt");
bw = new BufferedWriter(fw);
BufferedReader fBr = new BufferedReader(new InputStreamReader(
new FileInputStream(testFile), "UTF-8")); //US-ASCII windows-31j
int count=0;
String line;
while ((line = fBr.readLine()) != null) {
System.out.println(line);
bw.write(line);
bw.write("\r\n");
count++;
if(count > 3) { //print small portion of a larger file for testing
break;
}
...
}
모두 인쇄 및 출력 파일은 다음과 같은 것을 쓴다? 어떻게 읽을 수있는 데이터를 파싱합니까?
이진 파일은 인코딩이 없으며 공급 업체가 형식을 문서화하지 않으면 디코딩 할 수없는 * 리버스 엔진이없는 파일 그것을 보냈다. –
파일 포맷터 http://mikumikudance.wikia.com/wiki/VMD_file_format 섹션의 파일 헤더 – logger
아래에 작성 되었기 때문에 텍스트 파일 형식이 아닙니다. 설명서를 더 자세히 읽으십시오. 이진 파일 형식 사양입니다. 텍스트가 * string *을 몇 군데에서 사용하기 때문에 마술처럼 텍스트 파일이되지는 않습니다. –