Можно ли средствами BAS читать файл в бинарный код?



  • Здравствуйте!
    Подскажите как я могу прочитать файл фото jpg в бинарный код?
    бинарный код выглядят так

    0xffd8ffe20bf84943435f50524f46494c4500010100000be800000000020000006d6e7472524742205...и так далее
    

    спс за ответы советы.



  • @mocard said in Можно ли средствами BAS читать файл в бинарный код?:

    Здравствуйте!
    Подскажите как я могу прочитать файл фото jpg в бинарный код?
    бинарный код выглядят так

    0xffd8ffe20bf84943435f50524f46494c4500010100000be800000000020000006d6e7472524742205...и так далее
    

    спс за ответы советы.

    Читайте файл в base64 и переводите его в бинарный код или используйте модули node js



  • пробовал переводить в бинарный код
    9a8892fa-f00c-470e-bc48-7566c0926a85-image.png

    На выходе получаю такое

    LzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzRnSFlTVU5EWDFCU1QwWkpURVVBQVFFQUFBSEliR050Y3dJUUFBQnRiblJ5VWtkQ0lGaFpXaUFINGdBREFCUUFDUUFPQUIxaFkzTndUVk5HVkFBQUFBQnpZWGR6WTNSeWJBQUFBQUFBQUFBQUFBQUFBQUFBOXRZQUFRQUFBQURUTFdoaGJtU2RrUUE5UUlDd1BVQjBMSUdlcFNLT0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
    

    а мне надо что то типа 0xffd8ffe20bf84943435f50524f46494c4500010100000be80000000002000000



  • Мне надо вставить этот бинарный код в базу mySQL тип mediumblob



  • @mocard said in Можно ли средствами BAS читать файл в бинарный код?:

    пробовал переводить в бинарный код

    А вас не смутило название действия?

    Мне надо вставить этот бинарный код в базу mySQL тип mediumblob

    Вставляйте base64, какая разница то?



  • когда скачиваю бинарник с сервера mySQL то в нем текст кода base64 если переименовать файл bin в jpg то должна получится фотка.
    Вот так выглядят запрос если в ручную загрузить фотку в blob
    151ced2b-9cc7-4f30-b5ae-88182a20f81a-image.png
    ccc8b967-ba1f-4ad2-82e9-94acf181b47b-image.png
    я так понимаю мне надо конвертнуть фотку в такой бинарный код и вставить.



  • Мне нужно, чтобы изображение было представлено в виде строки с HEX-кодом и префиксом 0x, например:

    Изображение -> Строка = ' 0xFFD8FFE000104A46494600010200000100010000FFDB0 '



  • @mocard, вот функция преобразующая base64 в Hex, но для этого лучше использовать Buffer в Node.js

    function base64ToHex(base64){
    	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
    	var val = [];
    	var out = [];
    	var hex = [];
    	for(var i = 0; i < 256; i++){
    		out.push(('0' + i.toString(16)).slice(-2));
    		val.push(0);
    	};
    	for(var i = 0; i < 65; i++){
    		val[chars.charCodeAt(i)] = i;
    	};
    	var v3 = '';
    	var v4 = '';
    	for(var i = 0; i < base64.length; i += 4){
    		var v1 = val[base64.charCodeAt(i)];
    		var v2 = val[base64.charCodeAt(i+1)];
    		v3 = val[base64.charCodeAt(i+2)];
    		v4 = val[base64.charCodeAt(i+3)];
    		
    		hex.push(out[(v1 << 2) | (v2 >> 4)], out[((v2 & 15) << 4) | (v3 >> 2)], out[((v3 &  3) << 6) | v4]);
    	};
    	if(v4===64){
    		hex.splice(v3===64 ? -2 : -1);
    	};
    	return hex.join('');
    }
    


  • @GhostZ 6b4dcf92-8d60-4718-ab5b-9d23921d2e77-image.png
    Не пойму куда в этому коде вставить строку base64 и куда получать результат строки в HEX?
    Если Вас не затруднит могли бы вы в этом коде написать или вставить любые переменные для примера. Спасибо.



  • @mocard, для этого кода не нужен Node.js, его нужно просто использовать в "Выполнить код"

    [[HEX]] = base64ToHex([[BASE64]]);
    


  • Бабище! Огромное всем спасибо!


Log in to reply