使用 php 将 Hexcode 转换为 Base64

问题描述 投票:0回答:1

我将缩略图数据存储在数据类型为“图像”的数据库中。 我需要检索它并在前端将其显示为图像。

这是图像数据:

0x49492A00080000001200FE00040001000000000000000001040001000000570000000101040001000000700000000201030001000000010000000301030001000000040000000601030001000000000000000A01030001000000020000001101040001000000E60100001201030001000000010000001501030001000000010000001601040001000000700000001701040001000000280300001A01050001000000E60000001B01050001000000EE0000001C01030001000000010000002801030001000000020000003201020014000000F60000003B010200C80000001E010000000000002C010000010000002C0100000100000031322D32342D323030340000000000000000000000000000000000000000000000000000000000003230303420534E4F57424F554E442C20414C4C20524947485453205245534552564544000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440676B28AB8E9226EBA88C7C0101D0CA79F8C5338C7C938C3190E82222222222222222272F43FA15146C4678BF8C4C38F42C473DCE238719D42E7F848E121D08A88882F98B8E8222E86888B741167E2263E7111171DFA561C9B08B104412BCE710AE7F8E709A27005C1531A470C0743824C0C2C5E141E117F44E2901F91B89E1E3E9C34982E3A66881EBD47098216C3F7168E888888F87CD8109FCEC4914D3B196761102281B15017A27010F1522E2312E638F4101411D160EAA8A39C1A89621C731C111DD1C4851761F1C498CEC914E9351D15098F300443CCA203FD889480602AA8360842E489726D8EC3C4C18E46BC90DACB84D1142A459E4CA76A2A404D171DE4A603417CE2600151023A054C650AA79C728E53B889131E4C5CC48938118712873422E2888888385771445C7C314417714C1C421C4A9CE7C39C3882A6866A0A7B22B824E2403F15142E986AE368431016E3F9ABA9B6445CA47D86222222916399AC2881A8A79CE3048789710EFC2547B09AB8286668C491EA5450540FCA104388883842982D66B01944E1144E3944078B21C4124435614D31770811EF265D7431445CF479200BC107A383A910A391213A2D420A14119A42C46196B8888F606A4C9C4756B3C13947F4741117456133A770107161EA99EB3122A246C44D350B0AA60AF58481739C201F6310348720447243E721E2E12C82893E5528D7C10A4173880E53F8A988388BF8108E40A0B7C999838903035F14268BF850B640A037AB72C0125F626816F151BE40A08FA49C0333F8294CCA45DCCC7AC6092D19429C2F10E805E1381DC6E64E98A1530E8D234CC2C90421B0234C1C3E1842D68A486182404A1C931822CC872A844C0811118954898845C44D1CCF1C7118C4C7201C119194CF2CAA826FA2380F2A38CE1564457484408E38221216972866EB84E00C286170C4716E5C74CD2C62C1061419A24F5C2339269DB98CF8887C8144DC3839A84B200AA77008F91A11119F1B175DCF2CC2E0C4412C36BAC40CC21A66387A21C77A2444E509D6144F0DD5545038C7A960208F88119138FED40EE89B9430F5450E4E05FD88CC62FC1339128EF04F1CEC88F8734C1C610553384214DE4C95E3FC828470C41107400004

我需要将其转换为图像。我怎样才能使用 PHP 来做到这一点?我已尝试使用下面的代码,但它不起作用。

$hexpic="0x49492A00080000001200FE00040001000000000000000001040001000000570000000101040001000000700000000201030001000000010000000301030001000000040000000601030001000000000000000A01030001000000020000001101040001000000E60100001201030001000000010000001501030001000000010000001601040001000000700000001701040001000000280300001A01050001000000E60000001B01050001000000EE0000001C01030001000000010000002801030001000000020000003201020014000000F60000003B010200C80000001E010000000000002C010000010000002C0100000100000031322D32342D323030340000000000000000000000000000000000000000000000000000000000003230303420534E4F57424F554E442C20414C4C20524947485453205245534552564544000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440676B28AB8E9226EBA88C7C0101D0CA79F8C5338C7C938C3190E82222222222222222272F43FA15146C4678BF8C4C38F42C473DCE238719D42E7F848E121D08A88882F98B8E8222E86888B741167E2263E7111171DFA561C9B08B104412BCE710AE7F8E709A27005C1531A470C0743824C0C2C5E141E117F44E2901F91B89E1E3E9C34982E3A66881EBD47098216C3F7168E888888F87CD8109FCEC4914D3B196761102281B15017A27010F1522E2312E638F4101411D160EAA8A39C1A89621C731C111DD1C4851761F1C498CEC914E9351D15098F300443CCA203FD889480602AA8360842E489726D8EC3C4C18E46BC90DACB84D1142A459E4CA76A2A404D171DE4A603417CE2600151023A054C650AA79C728E53B889131E4C5CC48938118712873422E2888888385771445C7C314417714C1C421C4A9CE7C39C3882A6866A0A7B22B824E2403F15142E986AE368431016E3F9ABA9B6445CA47D86222222916399AC2881A8A79CE3048789710EFC2547B09AB8286668C491EA5450540FCA104388883842982D66B01944E1144E3944078B21C4124435614D31770811EF265D7431445CF479200BC107A383A910A391213A2D420A14119A42C46196B8888F606A4C9C4756B3C13947F4741117456133A770107161EA99EB3122A246C44D350B0AA60AF58481739C201F6310348720447243E721E2E12C82893E5528D7C10A4173880E53F8A988388BF8108E40A0B7C999838903035F14268BF850B640A037AB72C0125F626816F151BE40A08FA49C0333F8294CCA45DCCC7AC6092D19429C2F10E805E1381DC6E64E98A1530E8D234CC2C90421B0234C1C3E1842D68A486182404A1C931822CC872A844C0811118954898845C44D1CCF1C7118C4C7201C119194CF2CAA826FA2380F2A38CE1564457484408E38221216972866EB84E00C286170C4716E5C74CD2C62C1061419A24F5C2339269DB98CF8887C8144DC3839A84B200AA77008F91A11119F1B175DCF2CC2E0C4412C36BAC40CC21A66387A21C77A2444E509D6144F0DD5545038C7A960208F88119138FED40EE89B9430F5450E4E05FD88CC62FC1339128EF04F1CEC88F8734C1C610553384214DE4C95E3FC828470C41107400004";
# convert the hex string to binary
$data = pack("H" . strlen($hexpic), $hexpic);
#write the binary string into an image file
file_put_contents("sample.png", $data);
echo $base64 = base64_encode(file_get_contents("sample.png", $data));
php
1个回答
0
投票
  1. $hexpic 字符串开头不得包含“0x”
  2. 使用 pack('H*', ...) 对整个数据进行编码
© www.soinside.com 2019 - 2024. All rights reserved.