miguelmota / util.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
function string2ByteArray ( $ string ) |
return unpack( ‘C*’ , $ string ); |
> |
function byteArray2String ( $ byteArray ) |
$ chars = array_map(» chr «, $ byteArray ); |
return join( $ chars ); |
> |
function byteArray2Hex ( $ byteArray ) |
$ chars = array_map(» chr «, $ byteArray ); |
$ bin = join( $ chars ); |
return bin2hex( $ bin ); |
> |
function hex2ByteArray ( $ hexString ) |
$ string = hex2bin( $ hexString ); |
return unpack( ‘C*’ , $ string ); |
> |
function string2Hex ( $ string ) |
return bin2hex( $ string ); |
> |
function hex2String ( $ hexString ) |
return hex2bin( $ hexString ); |
> |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
include ( ‘./util.php’ ); |
$ byteArray = unpack( ‘C*’ , ‘hello’ ); |
assert(string2ByteArray( ‘hello’ ) == $ byteArray ); |
assert(byteArray2String( $ byteArray ) == ‘hello’ ); |
assert(byteArray2Hex( $ byteArray ) == ‘68656c6c6f’ ); |
assert(hex2ByteArray( ‘68656c6c6f’ ) == $ byteArray ); |
assert(string2Hex( ‘hello’ ) == ‘68656c6c6f’ ); |
assert(hex2String( ‘68656c6c6f’ ) == ‘hello’ ); |
?> |
bin2hex
Returns an ASCII string containing the hexadecimal representation of string . The conversion is done byte-wise with the high-nibble first.
Parameters
Return Values
Returns the hexadecimal representation of the given string.
Examples
Example #1 bin2hex() example
$hex = bin2hex ( ‘Hello world!’ );
var_dump ( $hex );
var_dump ( hex2bin ( $hex ));
?>
The above example will output:
string(24) "48656c6c6f20776f726c6421" string(12) "Hello world!"
See Also
User Contributed Notes 6 notes
This function is for converting binary data into a hexadecimal string representation. This function is not for converting strings representing binary digits into hexadecimal. If you want that functionality, you can simply do this:
$binary = «11111001» ;
$hex = dechex ( bindec ( $binary ));
echo $hex ;
?>
This would output «f9». Just remember that there is a very big difference between binary data and a string representation of binary.
A good option for creating strings with binary data for saving (for example saving an sql statement to a file) into text files or php code is to do the following:
$field = bin2hex ( $field );
$field = chunk_split ( $field , 2 , «\\x» );
$field = «\\x» . substr ( $field , 0 ,- 2 );
?>
this will convert your field (binary or not) into hex and then convert the hex into a string which may be placed in a php file:
Convenient way of generating API keys
$apikey = bin2hex ( random_bytes ( 32 )); // generates 64 characters long string /^[0-9a-f]$/
?>
In an attempt to dodge spam bots I’ve seen people (including myself) hex encode their email addresses in «mailto» tags. This is the small chunk of code I wrote to automate the process:
would produce the following address:
%70%65%64%72%61%6d%40%72%65%64%68%69%76%65%2e%63%6f%6d
I was just browsing the above and with a little modification,
came up with the following which I believe to be more flexible:
function bin2hex ( $data ) <
$corrected = ereg_replace ( «[^0-9a-fA-F]» , «» , $data );
return pack ( «H» . strlen ( $corrected ), $corrected );
>
?>
This will make sure that whatever you pass, even if it is padded
at the extremeties or between pairs, should return the desired data.
Here’s a function to check if a string contains any 7-bit GSM characters.
It might come useful for people working on SMS platforms.
function check_gsm ( $str )
<
$arr = array(
«0x00» , «0x01» , «0x02» , «0x03» , «0x04» , «0x05» , «0x06» , «0x07» , «0x08» , «0x09» ,
«0x0A» , «0x0B» , «0x0C» , «0x0D» , «0x0E» , «0x0F» , «0x10» , «0x11» , «0x12» , «0x13» ,
«0x14» , «0x15» , «0x16» , «0x17» , «0x18» , «0x19» , «0x1A» , «0x1B» , «0x1B0A» ,
«0x1B14» , «0x1B28» , «0x1B29» , «0x1B2F» , «0x1B3C» , «0x1B3D» , «0x1B3E» ,
«0x1B40» , «0x1B65» , «0x1C» , «0x1D» , «0x1E» , «0x1F» , «0x20» , «0x21» , «0x22» ,
«0x23» , «0x24» , «0x25» , «0x26» , «0x27» , «0x28» , «0x29» , «0x2A» , «0x2B» , «0x2C» ,
«0x2D» , «0x2E» , «0x2F» , «0x30» , «0x31» , «0x32» , «0x33» , «0x34» , «0x35» , «0x36» ,
«0x37» , «0x38» , «0x39» , «0x3A» , «0x3B» , «0x3C» , «0x3D» , «0x3E» , «0x3F» , «0x40» ,
«0x41» , «0x42» , «0x43» , «0x44» , «0x45» , «0x46» , «0x47» , «0x48» , «0x49» , «0x4A» ,
«0x4B» , «0x4C» , «0x4D» , «0x4E» , «0x4F» , «0x50» , «0x51» , «0x52» , «0x53» , «0x54» ,
«0x55» , «0x56» , «0x57» , «0x58» , «0x59» , «0x5A» , «0x5B» , «0x5C» , «0x5D» , «0x5E» ,
«0x5F» , «0x60» , «0x61» , «0x62» , «0x63» , «0x64» , «0x65» , «0x66» , «0x67» , «0x68» ,
«0x69» , «0x6A» , «0x6B» , «0x6C» , «0x6D» , «0x6E» , «0x6F» , «0x70» , «0x71» , «0x72» ,
«0x73» , «0x74» , «0x75» , «0x76» , «0x77» , «0x78» , «0x79» , «0x7A» , «0x7B» , «0x7C» ,
«0x7D» , «0x7E» , «0x7F» );
$strl = strlen ( $str );
for ( $i = 0 ; $i < $strl ; $i ++)
<
$char = ‘0x’ . bin2hex ( substr ( $str , $i , 1 ));
$pos = in_array ( $char , $arr );
if ( $pos == 1 )
<
$j ++;
>
>
Php binary string to hex string
- PHP Tutorial
- PHP | Introduction
- PHP Full Form
- How to set PHP development environment in windows ?
- LAMP installation and important PHP configurations on Ubuntu
- PHP | Coding Standards
- PHP | Basic Syntax
- PHP | Variables
- PHP echo and print
- PHP | Data Types
- PHP | Strings
- PHP | Constants
- PHP | Magic Constants
- PHP | Decision Making
- PHP | Loops
- PHP | Superglobals
- PHP | Regular Expressions
- PHP Examples
- Describe PHP Include and Require
- PHP | Basics of File Handling
- PHP | fopen( ) (Function open file or URL)
- PHP fread( ) Function
- PHP fclose( ) Function
- PHP | fwrite( ) Function
- PHP | Uploading File
- PHP Cookies
- PHP | Sessions
- PHP Filter and Filter Constant
- Implementing callback in PHP
- Exception Handling in PHP
- PHP | Arrays
- PHP array() Function
- PHP | array_change_key_case() Function
- PHP array_chunk() Function
- PHP | array_column() Function
- PHP array_combine() Function
- PHP array_count_values() Function
- PHP array_diff() function
- PHP array_diff_assoc() Function
- PHP array_diff_key() Function
- PHP array_diff_uassoc() Function
- PHP array_diff_ukey() Function
- PHP array_fill() function
- PHP array_fill_keys() Function
- PHP Array Functions Complete Reference
- PHP Date and Time
- PHP | checkdate() Function
- PHP | date_create(), date_format(), date_add() Functions
- PHP | date_create_from_format() Function
- PHP | date_date_set() Function
- PHP | date_default_timezone_get() Function
- PHP | date_default_timezone_set() Function
- PHP | date_diff() Function
- PHP | date_get_last_errors() Function
- PHP | date_isodate_set() Function
- PHP | date_modify() Function
- PHP | date_offset_get() Function
- PHP | date_parse_from_format() Function
- PHP | date_parse() Function
- PHP | date_sub() Function
- PHP basename( ) Function
- PHP chgrp( ) Function
- PHP chmod( ) Function
- PHP chown( ) Function
- PHP copy( ) Function
- PHP dirname( ) Function
- PHP disk_free_space( ) Function
- PHP disk_total_space( ) Function
- PHP feof( ) Function
- PHP fflush( ) Function
- PHP | fgetc( ) Function
- PHP | fgets( ) Function
- PHP | fgetss( ) Function
- PHP | file_exists( ) Function
- PHP file_get_contents() Function
- PHP Filesystem Functions Complete Reference
- PHP | ftp_alloc() function
- PHP | ftp_chdir() function
- PHP | ftp_close() function
- PHP | ftp_connect() function
- PHP | ftp_delete() function
- PHP | ftp_exec() function
- PHP | ftp_get() function
- PHP | ftp_put() function
- PHP | ftp_get_option() function
- PHP | ftp_login() function
- PHP | ftp_mdtm() Function
- PHP | ftp_mkdir() function
- PHP | Ds\Map allocate() Function
- PHP | Ds\Map apply() Function
- PHP | Ds\Map capacity() Function
- PHP | DS\Map clear() Function
- PHP | Ds\Map __construct() Function
- PHP Ds\Map copy() Function
- PHP | Ds\Map count() Function
- PHP | Ds\Map diff() Function
- PHP | Ds\Map filter() Function
- PHP | Ds\Map first() Function
- PHP Ds\Map Functions Complete Reference
- SplDoublyLinkedList in PHP
- PHP SplDoublyLinkedList add() Function
- PHP SplDoublyLinkedList bottom() Function
- PHP SplDoublyLinkedList count() function
- PHP SplFixedArray count() Function
- PHP SplFixedArray current() Function
- PHP SplFixedArray getSize() Function
- PHP SplFixedArray key() Function
- PHP SplObjectStorage addAll() Function
- PHP SplObjectStorage attach() Function
- PHP SplObjectStorage contains() Function
- PHP SplObjectStorage count() Function
- PHP SplQueue::__construct() Function
- PHP SPL Data structures Complete Reference
- PHP Tutorial
- PHP | Introduction
- PHP Full Form
- How to set PHP development environment in windows ?
- LAMP installation and important PHP configurations on Ubuntu
- PHP | Coding Standards
- PHP | Basic Syntax
- PHP | Variables
- PHP echo and print
- PHP | Data Types
- PHP | Strings
- PHP | Constants
- PHP | Magic Constants
- PHP | Decision Making
- PHP | Loops
- PHP | Superglobals
- PHP | Regular Expressions
- PHP Examples
- Describe PHP Include and Require
- PHP | Basics of File Handling
- PHP | fopen( ) (Function open file or URL)
- PHP fread( ) Function
- PHP fclose( ) Function
- PHP | fwrite( ) Function
- PHP | Uploading File
- PHP Cookies
- PHP | Sessions
- PHP Filter and Filter Constant
- Implementing callback in PHP
- Exception Handling in PHP
- PHP | Arrays
- PHP array() Function
- PHP | array_change_key_case() Function
- PHP array_chunk() Function
- PHP | array_column() Function
- PHP array_combine() Function
- PHP array_count_values() Function
- PHP array_diff() function
- PHP array_diff_assoc() Function
- PHP array_diff_key() Function
- PHP array_diff_uassoc() Function
- PHP array_diff_ukey() Function
- PHP array_fill() function
- PHP array_fill_keys() Function
- PHP Array Functions Complete Reference
- PHP Date and Time
- PHP | checkdate() Function
- PHP | date_create(), date_format(), date_add() Functions
- PHP | date_create_from_format() Function
- PHP | date_date_set() Function
- PHP | date_default_timezone_get() Function
- PHP | date_default_timezone_set() Function
- PHP | date_diff() Function
- PHP | date_get_last_errors() Function
- PHP | date_isodate_set() Function
- PHP | date_modify() Function
- PHP | date_offset_get() Function
- PHP | date_parse_from_format() Function
- PHP | date_parse() Function
- PHP | date_sub() Function
- PHP basename( ) Function
- PHP chgrp( ) Function
- PHP chmod( ) Function
- PHP chown( ) Function
- PHP copy( ) Function
- PHP dirname( ) Function
- PHP disk_free_space( ) Function
- PHP disk_total_space( ) Function
- PHP feof( ) Function
- PHP fflush( ) Function
- PHP | fgetc( ) Function
- PHP | fgets( ) Function
- PHP | fgetss( ) Function
- PHP | file_exists( ) Function
- PHP file_get_contents() Function
- PHP Filesystem Functions Complete Reference
- PHP | ftp_alloc() function
- PHP | ftp_chdir() function
- PHP | ftp_close() function
- PHP | ftp_connect() function
- PHP | ftp_delete() function
- PHP | ftp_exec() function
- PHP | ftp_get() function
- PHP | ftp_put() function
- PHP | ftp_get_option() function
- PHP | ftp_login() function
- PHP | ftp_mdtm() Function
- PHP | ftp_mkdir() function
- PHP | Ds\Map allocate() Function
- PHP | Ds\Map apply() Function
- PHP | Ds\Map capacity() Function
- PHP | DS\Map clear() Function
- PHP | Ds\Map __construct() Function
- PHP Ds\Map copy() Function
- PHP | Ds\Map count() Function
- PHP | Ds\Map diff() Function
- PHP | Ds\Map filter() Function
- PHP | Ds\Map first() Function
- PHP Ds\Map Functions Complete Reference
- SplDoublyLinkedList in PHP
- PHP SplDoublyLinkedList add() Function
- PHP SplDoublyLinkedList bottom() Function
- PHP SplDoublyLinkedList count() function
- PHP SplFixedArray count() Function
- PHP SplFixedArray current() Function
- PHP SplFixedArray getSize() Function
- PHP SplFixedArray key() Function
- PHP SplObjectStorage addAll() Function
- PHP SplObjectStorage attach() Function
- PHP SplObjectStorage contains() Function
- PHP SplObjectStorage count() Function
- PHP SplQueue::__construct() Function
- PHP SPL Data structures Complete Reference