2017-01-27 2 views
0

문자열을 16 진수로 변환해야합니다. 나는 pack 함수에 대해 읽었습니다. 다음의 차이점은 무엇입니까?팩의 리피터 인수는 무엇입니까?

$hexRepresentation = pack('H','I will be converted to hexa'); 

$hexRepresentation = pack('H*','I will be converted to hexa'); 

repeater argument의 문서는 나에게 매우 명확하지 않다.

답변

0

1) 16 진수로 문자열을 바이너리를 변환 할 경우 - 더 나은 기능이 거기에 있습니다 : bin2hex

2) pack 기능은 바이너리 문자열로 데이터 를 변환 할 수 있습니다. 당신이 의미하는 것 같아요 - unpack

설명서에 언급 된대로 - PHP의 pack \ unpack 기능은 Perl의 pack \ unpack 포트입니다.

이 기능의 동작은 사용중인 형식에 따라 다릅니다. 가 H와 H 형식에 대한
팩 : 반복 횟수가 입력 필드의 모든 문자를 사용

A *를 위해.

당신은 펄의 문서 here

예 확인할 수 있습니다 또한

<?php 

$string='I will be converted to hexa'; 
var_dump(unpack('H10',$string)); 
//array(1) { 
// [1]=> 
// string(10) "492077696c" 
//} 
var_dump(unpack('H*',$string)); 
//array(1) { 
// [1]=> 
// string(54) "492077696c6c20626520636f6e76657274656420746f2068657861" 
//} 
var_dump(bin2hex($string)); 
//string(54) "492077696c6c20626520636f6e76657274656420746f2068657861" 

을, 당신은 여기에 스스로를 시도 할 수 있습니다 : https://3v4l.org/a4BVi