문자열로 표현 된 16 진수 코드를 바이트로 변환하고 Javascript에서 그 반대로 변환하는 방법은 무엇입니까?
var conv = require('binstring');
var hexstring ='80';
var bytestring = conv(hexstring, {in:'hex', out:'utf8'});
var backtohexstring = conv(bytestring, {in:'utf8', out:'hex'}); // != '80'???
backtohexstring은 들어오는 데이터 문자열을 올바른 16 진수로 디코딩합니다 (또한 콘솔에 인쇄 될 때 들어오는 문자열처럼 '보였기 때문에 utf8 대 바이트 사용).
나는 또한이 두 가지 기본 자바 스크립트 함수를 발견했으며 디코더는 들어오는 스트림에서 작동하지만 여전히 16 진수를 인코딩 할 수 없습니다 ...
function encode_utf8( s ) {
return unescape( encodeURIComponent( s ) );
}
function decode_utf8( s ) {
return decodeURIComponent( escape( s ) );
}
다음은 노드 표준 lib에서 제공하는 Buffer 클래스를 활용하는 node.js 특정 접근 방식입니다.
https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings
바이트 (0-255) 값을 얻으려면 :
Buffer.from('80', 'hex')[0];
// outputs 128
그리고 다시 변환하려면 :
Buffer.from([128]).toString('hex');
// outputs '80'
utf8로 변환하려면 :
Buffer.from('80', 'hex').toString('utf8');
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다