php字串與byte位元組陣列轉化類示例
/**
* byte陣列與字串轉化類
*/
class Bytes {
/**
* 轉換一個String字串為byte陣列
* @param $str 需要轉換的字串
* @param $bytes 目標byte陣列
* @author Zikie
*/
public static function getBytes($string) {
$bytes = array();
for($i = 0; $i < strlen($string); $i++){
$bytes[] = ord($string[$i]);
}
return $bytes;
}
/**
* 將位元組陣列轉化為String型別的資料
* @param $bytes 位元組陣列
* @param $str 目標字串
* @return 一個String型別的資料
*/
public static function toStr($bytes) {
$str = '';
foreach($bytes as $ch) {
$str .= chr($ch);
}
return $str;
}
/**
* 轉換一個int為byte陣列
* @param $byt 目標byte陣列
* @param $val 需要轉換的字串
*
*/
public static function integerToBytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
$byt[2] = ($val >> 16 & 0xff);
$byt[3] = ($val >> 24 & 0xff);
return $byt;
}
/**
* 從位元組陣列中指定的位置讀取一個Integer型別的資料
* @param $bytes 位元組陣列
* @param $position 指定的開始位置
* @return 一個Integer型別的資料
*/
public static function bytesToInteger($bytes, $position) {
$val = 0;
$val = $bytes[$position + 3] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 2] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 1] & 0xff;
$val <<= 8;
$val |= $bytes[$position] & 0xff;
return $val;
}
/**
* 轉換一個shor字串為byte陣列
* @param $byt 目標byte陣列
* @param $val 需要轉換的字串
*
*/
public static function shortToBytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
return $byt;
}
/**
* 從位元組陣列中指定的位置讀取一個Short型別的資料。
* @param $bytes 位元組陣列
* @param $position 指定的開始位置
* @return 一個Short型別的資料
*/
public static function bytesToShort($bytes, $position) {
$val = 0;
$val = $bytes[$position + 1] & 0xFF;
$val = $val << 8;
$val |= $bytes[$position] & 0xFF;
return $val;
}
}
?>
相關推薦
php字串與byte位元組陣列轉化類示例
<?php /** * byte陣列與字串轉化類 */class Bytes { /** * 轉換一個String字串為byte陣列 * @param $str 需要轉換的字串 * @param $bytes 目標byte陣列 * @author Zikie */
mac字串與byte互轉工具類
#include <string> #include <iostream> using namespace std; class MAC_Convertor { public: static int ConvertXDigit2Number(
PHP 字串與陣列間的相互轉化
PHP中陣列與字串經常有需要轉化的時候,在其他語言中可能會非常麻煩。但在php中,已經為我們提供了兩個方法來實現這一功能,它們的用法如下: 1.字串轉化為陣列:explode()方法 $label = "張三,李四,王五,趙六"; $labelArray =
包裝類(Integer/Boolean等、字串與基本資料型別轉化,-127-128自動裝箱入池)
為什麼要有包裝類? Object類可以接收所有引用資料型別。然而在Java中,資料型別分為基本資料型別和引用資料型別,那麼基本資料型別如何處理呢? 使用包裝類 :包裝類是將基本資料型別封裝到類中,因為Object無法接受基本資料型別,封裝成類後就可以用Object類來接收。 簡單定義一個in
位元組陣列轉化為十六進位制字串時 &0xff
我是資源的搬運工~~~ 關於這個位元組陣列轉化為十六進位制字串時 &0xff,看到很多次了,這裡整理一下網上的資料,記錄一下: byte 為什麼要&0xff byte 為什麼要 &0xff /** * 位元組陣列轉換成字串HEX表示 *
位元組陣列轉化為十六進位制字串時 &0xff
我是資源的搬運工~~~ 關於這個位元組陣列轉化為十六進位制字串時 &0xff,看到很多次了,這裡整理一下網上的資料,記錄一下: /** * 位元組陣列轉換成字串HEX表示 * * @param data 位元組陣列
android byte位元組陣列轉換十六進位制字串(物聯網開發總結)
想起前段時間的物聯網的外包開發,經常遇到通過wifi接受的資料,要通過轉換成十六進位制字串,或者最後又是十進位制資料。都是根據雙方的協議來開發的。那麼我傳送過去的資料也需要,經過特殊轉換成byte位元組發過去,硬體那邊收到不至於亂碼的資料。 1、硬體除錯發給android這
android byte位元組陣列轉換十六進位制字串
android讀到資料是byte位元組陣列,通過wifi接受的資料,要通過轉換成十六進位制字串,或者最後又是十進位制資料。都是根據雙方的協議來開發的。那麼我傳送過去的資料也需要,經過特殊轉換成byte位元組發過去,硬體那邊收到不至於亂碼的資料。 十六進位制字串是這樣的:
byte[]位元組陣列轉換為二、八、十、十六進位制字串
【前言】java中很多時候需要將byte[]轉為各種進位制的字串顯示,從2,8,10,16到比較高階的base64(編碼),至於什麼時候需要這樣,當你遇到這樣的問題就知道了。【程式碼】進位制轉換比較簡單,直接上程式碼,編碼轉換見其他文章。例如這個package com.uik
C#: 字串string和位元組陣列byte[]的轉換
string轉byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]轉string: string str = System.Text.Encoding.Default.GetStri
Java與C#通過Byte[]位元組陣列實現訊息傳遞,跨語言資料序列化
支援型別: byte、short、int、long、float、double、boolean、char、String、byte[] Java程式碼 package com.itshidu.io; import java.nio.charset.Charset;
【C# 4】文字轉換。串列埠通訊中字串string和位元組陣列byte[]、ASCII的轉換
string轉byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );byte[]轉string:string str = System.Text.Encoding.Default.GetString ( byteArra
Java byte[] 位元組陣列 轉 二進位制 八進位制 十進位制 十六進位制字串
【前言】 java中很多時候需要將byte[]轉為各種進位制的字串顯示,從2,8,10,16到比較高階的base64(編碼), 至於什麼時候需要這樣,當你遇到這樣的問題就知道了。 【程式碼】 進位制轉換比較簡單,直接上程式碼,編碼轉換見其他文章。例如這個 package
Java 字串與數值、陣列之間的轉化
一、Java 字串轉化為數值,數值轉化為字串 字元轉化為數值 int intValue = Integer.parseInt(intString); double doubleValue = Double.parseDouble(do
PHP字串與位元組轉換示例
<?php /** * byte陣列與字串轉化類 */ class Bytes { /** * 轉換一個String字串為byte陣列 * @param $str 需要轉換的字串 * @param $bytes 目標byte陣列 * @author Zikie *
Json字串與實體集轉換工具類——SpringBootQuickStart
開始更新SpringBoot2.x 快速入門系列 本次分享一個常用的工具類,實體集與字串互相轉換的工具類,也就是Json字串的序列化與反序列化 Demo 下載: https://github.com/wangyushuai/springboot-quick-start 歡迎大
遊戲中tcp訊息使用byte位元組陣列傳輸
通訊訊息不像是web那樣直接使用文字,比較多的形式使用位元組byte進行傳輸,形如下面的形式 0,1, 0,2 ,0,0,0,8, 0,0,1,1 ,0,0,0,3 根據客戶端與服務端定義的協議,去讀取byte陣列, 比如定好訊息格式為
Java 字串與byte之間的相互轉換
寫在前面 你是否跟我一樣,在一些需要加密的程式碼裡看見需要把字串轉換為位元組的場景,例如MD5加密。而你每次看到像我以前一樣,自動地略過(反正別人都寫好了,我用就是了)。如果是的話,不要再逃避了,下面跟我一起來了解一下字串與byte之間轉換的原理 正文
string 與 byte[] 的相互轉化
1、String 到 byte[]String str = new String("hello world");byte[] by = str.getBytes();2、byte[] 到StringString str = new String("hello world")
C#字串與數值之間的轉化
1、十進位制字串轉化為十進位制數 Convert.ToInt32(str); 要確保str是十進位制字元 2、十進位制數轉化字串 變數名後面直接加 .ToStri