Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2014, 10:57
Новичок на форуме
Отправить личное сообщение для Vitamin77 Посмотреть профиль Найти все сообщения от Vitamin77
 
Регистрация: 20.08.2014
Сообщений: 2

HexDump файла в виде строки
Всем привет!

Читаю файл как readAsArrayBuffer(file).
Подскажите, как его лучше сконвертировать в строку без потери нулей?
Т.е. строка должна быть вида "00001200340054".
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2014, 11:30
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а можете показать то что вы сделали? и показать где идет не так как надо
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2014, 12:40
Новичок на форуме
Отправить личное сообщение для Vitamin77 Посмотреть профиль Найти все сообщения от Vitamin77
 
Регистрация: 20.08.2014
Сообщений: 2

var reader = new FileReader();

reader.onload = function(event)
{
var contents = event.target.result;
var binaryString = '',
bytes = new Uint16Array(contents),
length = bytes.length;
for (var i = 0; i < length; i++)

{
binaryString += String.fromCharCode(bytes[i]);
}

document.getElementById('test').value = binaryString;
console.log (binaryString);
};

Я пытаюсь передать binaryString на сервер через input/post. Но на сервере в итоге эта переменная оказывается undefined.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2014, 13:07
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вы случайно не хотите передать файл по частям, если да, то вот ссылка:
https://gist.github.com/shiawuen/1534477

если нет, то могу предположить, что чтото не то с кодировкой
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2014, 13:12
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

кстати а почему 16, если передается бинарник? должно быть 8.
1 байт - 8 бит, но не 16

<html>
	<head>
	</head>
    <body>
		<input type="file">
		<div></div>
        <script>
document.querySelector('input').onchange = function (e)
	{
	var file = e.target.files[0];
	var reader = new FileReader();
	reader.onload = function(e) 
		{
		bytes = new Uint8Array(e.target.result);
		console.log(bytes);
		}
	reader.readAsArrayBuffer(file);
	};
        </script>
    </body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2014, 13:28
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Тебе не hex-дамп нужен, а base64. window.btoa().
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2014, 16:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Можно тупо текстовой строкой передавать, string может содержать любые символы.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение N-ой строки из файла OkhunTursunov Общие вопросы Javascript 5 31.07.2014 16:46
Запись в конец текущей строки Maxfashko Общие вопросы Javascript 6 24.12.2012 06:05
Подгрузка информации через DIV с обработкой файла на стороне сервера Azartno jQuery 1 26.05.2012 15:07
Получить содержимое HTML файла через input Battleprof Events/DOM/Window 5 13.06.2011 14:51
Разбор строки из txt файла guffer Общие вопросы Javascript 4 18.05.2010 10:21