-8
자바 또는 PHP 또는 자바 스크립트를 통해 2 개의 알고리즘을 만들려고합니다. (이 언어를 알고 있으므로 내 질문에 답변 할 수 있습니다.) 첫 번째 알고리즘은 모든 파일 (exe, mp3, txt, png, docx 등)을 가져와 0과 1의 이진 문자열로 변환해야합니다. 두 번째 알고리즘은 0과 1의 문자열을 파일로 변환해야합니다.파일을 이진 문자열과 이진 파일로 변환하십시오.
그럴 수 있습니까? 그렇다면 어떻게 할 수 있습니까?
$buffer = file_get_contents("image.png");
$length = filesize("image.png");
if (!$buffer || !$length) {
die("Reading error\n");
}
$_buffer = '';
for ($i = 0; $i < $length; $i++) {
$_buffer .= sprintf("%08b", ord($buffer[$i]));
}
echo $_buffer."<br>";
$nb = "";
for($i = 0;$i<strlen($_buffer)/8;$i++) {
$sub = substr($_buffer, $i*8,$i*8+8);
$nb .= chr(bindec($sub));
}
$new = fopen("aaaimage.png","wb");
$w = fwrite($new,$nb);
그것은 바이너리로 변환하는 경우에만 작동하지만, 새 파일을 만들 때, 그 작동하지 않습니다, 그것은 같은 크기의 파일을 생성하지만 파일은 다음과 같습니다
는 그 개발을 시도 그것이해야대로 작동하지 않습니다. 새 이미지 (이 코드에서 파일은 이미지 임)를 열려고하면 오류가 표시됩니다. 오류는 파일이 손상되었을 수 있다는 것입니다.
연구를 수행 했습니까? – NewToJS
모든 것이 가능하지만 무엇을 시도 했습니까?! – Gntem
@NewToJS 네, 저는 Google에서 많은 것을 검색했고, 직접 뭔가 프로그래밍하려고했지만 실패했습니다. 나는 그러한 전환에 대해 모른다. – ShaiLA