Maison php教程 php手册 php bcd码压缩-把十进制数字压缩到十六进制数据中

php bcd码压缩-把十进制数字压缩到十六进制数据中

May 25, 2016 pm 04:50 PM
十进制 压缩 数字

下面我们一起来看和篇关于php bcd码压缩-把十进制数字压缩到十六进制数据中实例,希望文章给各位同学带来帮助哦。

例,php bcd码压缩-把十进制数字压缩到十六进制数据中,代码如下:

<?php
/*
php bcd码压缩-把十进制数字压缩到十六进制数据中  
例如 0091 压缩后 0x00 0x91  
*/
$string = &#39;0091&#39;;
$bytes = Bytes::getBytes($string);
print_r($bytes);
/*
Array  
(  
 
[0] => 48  
 
[1] => 48  
 
[2] => 57  
 
[3] => 49  
)  
*/
$asc = Bytes::AscToHex($bytes, 4);
//4位压缩成2位
print_r($asc);
/*
Array  
(  
 
[0] => 0  
 
[1] => 145  
)  
*/
echo Bytes::toStr($asc);
/*
0091  
*/
$hex = Bytes::HexToAsc($asc, 2);
//反操作2位还原成4位
print_r($hex);
/*
Array  
(  
 
[0] => 48  
 
[1] => 48  
 
[2] => 57  
 
[3] => 49  
)  
*/
?>
Copier après la connexion

例,把十进制数字压缩到十六进制数据中,代码如下:

<?php
/**  
 * php bcd码压缩
 * 把十进制数字压缩到十六进制数据中
 * @author phpff.com
 * Created on 2011-7-15
 */
class Bytes {
    /**  
     * 转换一个String字符串为byte数组
     * @param $str 需要转换的字符串
     * @param $bytes 目标byte数组
     * @author phpff.com
     */
    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 = &#39;&#39;;
        foreach ($bytes as $ch) {
            $str.= bin2hex(chr($ch));
        }
        return $str;
    }
    /**  
     * asc码转成16进制数据
     * @param $asc asc数字字符串
     * @param $AscLen 需要转换的字符串长度
     * @return 16进制数组
     * @author  phpff.com
     */
    public static function AscToHex($asc, $AscLen) {
        $i = 0;
        $Hex = array();
        for ($i = 0; 2 * $i < $AscLen; $i++) {
            /*A:0x41(0100 0001),a:0x61(0110 0001),右移4位后都是0001,加0x90等0xa*/
            $Hex[$i] = (chr($asc[2 * $i]) << 4);
            if (!(chr($asc[2 * $i]) >= &#39;0&#39; && chr($asc[2 * $i]) <= &#39;9&#39;)) {
                $Hex[$i]+= 0x90;
            }
            if (2 * $i + 1 >= $AscLen) {
                break;
            }
            $Hex[$i]|= (chr($asc[2 * $i + 1]) & 0x0f);
            if (!(chr($asc[2 * $i + 1]) >= &#39;0&#39; && chr($asc[2 * $i + 1]) <= &#39;9&#39;)) {
                $Hex[$i]+= 0x09;
            }
        }
        return $Hex;
    }
    /**  
     * 将16进制的数据转换成asc码
     * @param $Hex 16进制数组
     * @param $HexLen 16进制数组长度
     * @return asc数组
     * @author  phpff.com
     */
    public static function HexToAsc($Hex, $HexLen) {
        $i = 0;
        $Temp = 0;
        for ($i = 0; $i < $HexLen; $i++) {
            $Temp = ($Hex[$i] & 0xf0) >> 4;
            if ($Temp < 10) {
                $Asc[2 * $i] = (0x30 + $Temp);
            } else {
                $Asc[2 * $i] = (0x37 + $Temp);
            }
            $Temp = $Hex[$i] & 0x0f;
            if ($Temp < 10) {
                $Asc[2 * $i + 1] = (0x30 + $Temp);
            } else {
                $Asc[2 * $i + 1] = (0x37 + $Temp);
            }
        }
        return $Asc;
    }
}
Copier après la connexion


教程地址:

欢迎转载!但请带上文章地址^^

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment activer ou désactiver la compression de la mémoire sur Windows 11 Comment activer ou désactiver la compression de la mémoire sur Windows 11 Sep 19, 2023 pm 11:33 PM

Avec la compression de la mémoire sous Windows 11, votre appareil s'étouffera même avec une quantité limitée de RAM. Dans cet article, nous allons vous montrer comment activer ou désactiver la compression de la mémoire sous Windows 11. Qu’est-ce que la compression de la mémoire ? La compression de la mémoire est une fonctionnalité qui compresse les données avant de les écrire dans la RAM, fournissant ainsi plus d'espace de stockage. Bien entendu, davantage de données stockées dans la mémoire physique se traduisent par un fonctionnement plus rapide du système et de meilleures performances globales. Cette fonctionnalité est activée par défaut dans Windows 11, mais si elle n'est pas active, vous pouvez la désactiver ou la réactiver. Comment activer la compression de la mémoire dans Windows 11 ? Cliquez sur la barre de recherche, tapez PowerShell et cliquez sur

Paramètres du taux de compression maximum de 7-zip, comment compresser 7zip au minimum Paramètres du taux de compression maximum de 7-zip, comment compresser 7zip au minimum Jun 18, 2024 pm 06:12 PM

J'ai découvert que le package compressé téléchargé à partir d'un certain site Web de téléchargement sera plus volumineux que le package compressé d'origine après décompression. La différence est de plusieurs dizaines de Ko et de dizaines de Mo. S'il est téléchargé sur un disque cloud ou un espace payant, cela n'a pas d'importance. si le fichier est petit, s'il y a beaucoup de fichiers, le coût de stockage sera considérablement augmenté. J'ai fait quelques recherches à ce sujet et je peux en tirer des leçons si nécessaire. Niveau de compression : compression 9 extrême Taille du dictionnaire : 256 ou 384, plus le dictionnaire est compressé, plus il est lent. La différence de taux de compression est plus grande avant 256 Mo, et il n'y a aucune différence de taux de compression après 384 Mo. Taille du mot : maximum 273. Paramètres : f=BCJ2, le taux de compression des paramètres de test et d'ajout sera plus élevé

Conseils pour réduire la taille du fichier d'enregistrement d'écran Win10 Conseils pour réduire la taille du fichier d'enregistrement d'écran Win10 Jan 04, 2024 pm 12:05 PM

De nombreux amis ont besoin d'enregistrer des écrans pour le travail de bureau ou de transférer des fichiers, mais parfois le problème des fichiers trop volumineux pose beaucoup de problèmes. Ce qui suit est une solution au problème des fichiers trop volumineux, jetons-y un coup d'œil. Que faire si le fichier d'enregistrement d'écran Win10 est trop volumineux : 1. Téléchargez le logiciel Format Factory pour compresser le fichier. Adresse de téléchargement >> 2. Entrez dans la page principale et cliquez sur l'option "Vidéo-MP4". 3. Cliquez sur « Ajouter un fichier » sur la page du format de conversion et sélectionnez le fichier MP4 à compresser. 4. Cliquez sur « Configuration de sortie » sur la page pour compresser le fichier en fonction de la qualité de sortie. 5. Sélectionnez « Faible qualité et taille » dans la liste de configuration déroulante et cliquez sur « OK ». 6. Cliquez sur "OK" pour terminer l'importation des fichiers vidéo. 7. Cliquez sur "Démarrer" pour démarrer la conversion. 8. Une fois terminé, vous pouvez

Rechercher des nombres qui ne sont divisibles par aucun nombre dans une plage, à l'aide de C++ Rechercher des nombres qui ne sont divisibles par aucun nombre dans une plage, à l'aide de C++ Sep 13, 2023 pm 09:21 PM

Dans cet article, nous aborderons le problème de la recherche de nombres compris entre 1 et n (donnés) qui ne sont divisibles par aucun nombre compris entre 2 et 10. Comprenons cela avec quelques exemples - Entrée : num = 14 Sortie : 3 Explication : Il y a trois nombres, 1, 11 et 13, qui ne sont pas divisibles. Entrée : num = 21 Sortie : 5 Explication : Il y a cinq nombres 1, 11, 13, 17 et 19, qui ne sont pas divisibles. Méthode simple résolue si.

Comment compresser un dossier et l'envoyer en wps Comment compresser un dossier et l'envoyer en wps Mar 20, 2024 pm 12:58 PM

Les employés de bureau utilisent très fréquemment le logiciel wps au travail. Parfois, ils saisissent plusieurs fichiers par jour, puis les envoient au responsable ou à un emplacement désigné. Alors, comment le logiciel wps compresse-t-il un dossier et le conditionne-t-il pour l'envoi ? . Cette étape de l'opération. Tout d’abord, organisez les fichiers et dossiers que vous souhaitez envoyer dans le même dossier. Si vous avez beaucoup de fichiers, c'est une bonne idée de nommer chaque fichier afin qu'il soit plus facile à identifier lors de l'envoi. Deuxième étape, cliquez cette fois sur ce gros dossier, puis faites un clic droit. Sélectionnez "Ajouter aux archives". Étape 3 : À ce stade, le logiciel nous aidera automatiquement à empaqueter nos fichiers. Sélectionnez « Compresser vers XX.zip ». Ce zip est le format d'emballage, puis cliquez sur Compresser maintenant.​

Comment comprendre correctement les différences entre le packaging et la compression sous Linux Comment comprendre correctement les différences entre le packaging et la compression sous Linux Feb 20, 2024 pm 05:33 PM

Le packaging et la compression sont des opérations couramment utilisées sous Linux, mais de nombreux utilisateurs ont tendance à confondre les deux concepts. Cet article abordera en détail les différences entre le packaging et la compression dans les systèmes Linux et utilisera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. Tout d’abord, nous devons clarifier la différence entre emballage et compression. Le packaging est la combinaison de plusieurs fichiers ou répertoires en un seul fichier, souvent utilisé pour organiser, archiver ou transférer des fichiers. La compression consiste à compresser un ou plusieurs fichiers via un algorithme pour réduire la taille du fichier, économiser de l'espace de stockage ou accélérer la transmission.

winrar 64 bits-Comment décompresser Winrar ? winrar 64 bits-Comment décompresser Winrar ? Mar 18, 2024 pm 12:55 PM

WinRAR est un puissant outil de gestion de fichiers compressés qui offre des fonctionnalités riches et une interface facile à utiliser. La version WinRAR 64 bits est spécialement optimisée pour les systèmes d'exploitation 64 bits et peut mieux utiliser les ressources et les performances du système. Ensuite, laissez l'éditeur vous présenter Winrar 64 bits et vous expliquer comment décompresser Winrar ! 1. Qu'est-ce que le logiciel Winrar 64 bits ? WinRAR est un puissant gestionnaire de packages compressés. Ce logiciel peut être utilisé pour sauvegarder vos données, réduire la taille des pièces jointes aux e-mails, décompresser les fichiers RAR, ZIP et autres téléchargés sur Internet et créer de nouveaux fichiers aux formats RAR et ZIP. La dernière version de WINRAR est Wi

Présentation des commandes de compression et de décompression Centos 7 Présentation des commandes de compression et de décompression Centos 7 Dec 31, 2023 pm 09:02 PM

1.Syntaxe de compression du fichier Zip : zip plus le nom du fichier compressé plus le nom du fichier à compresser. [root@localhost~]#ziptest.ziptest.txtadding:test.txt(deflated100%)[root@localhost~]#Le pourcentage de la barre de progression apparaissant après indique qu'elle a été compressée. Vous pouvez ensuite la vérifier dans. ll pour voir s'il porte votre nom de package de fichiers. [root@localhost~]#llUtilisation totale 820004-rw-------.1rootroot1587 mars 2216:58anaconda-ks.cfg-rw-r--r--.1ro

See all articles