Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Преобразовать массив из строк в массив из байтов (https://javascript.ru/forum/misc/70895-preobrazovat-massiv-iz-strok-v-massiv-iz-bajjtov.html)

someQuestions 10.10.2017 14:54

Преобразовать массив из строк в массив из байтов
 
Здравствуйте!
Встала задача преобразовать массив из строк в массив из байтов.
То есть:
var str = '130,80';   //нужные байты в десятичном представлении
var strArr = str.split(',');
var bytes = [];
//теперь нужно взять каждый элемент массива strArr и преобразовать десятичное значение нужного байта в шеснадцатиричное и bytes.concat([?]);

Понимаю что задача простая, но не могу решить её своими силами в силу почти отсутствия знания js.
Прошу помощи или названия необходимых мне функций для преобразования.

Nexus 10.10.2017 15:03

Как-то так:
var str='130,80',
	hex=str.split(',').map(function(val){
		return (val >>> 0).toString(16);
	}).join(', ');

alert(hex);

Dilettante_Pro 10.10.2017 18:42

Цитата:

Сообщение от someQuestions
в шеснадцатиричное


var str='130,80',
	hex=str.split(',').map(function(val){
		return Number(val).toString(16);
	}).join(', ');

alert(hex);

someQuestions 12.10.2017 13:21

Цитата:

Сообщение от Nexus (Сообщение 467091)
Как-то так:
var str='130,80',
	hex=str.split(',').map(function(val){
		return (val >>> 0).toString(16);
	}).join(', ');

alert(hex);

Цитата:

Сообщение от Dilettante_Pro (Сообщение 467118)
var str='130,80',
	hex=str.split(',').map(function(val){
		return Number(val).toString(16);
	}).join(', ');

alert(hex);

Всем спасибо, проблема решена ещё проще:
var str='130,80',
var hex = new Uint8Array(str.split(','));



P.S. может быть не умею объяснять...


Часовой пояс GMT +3, время: 08:20.