За последние 24 часа нас посетили 55478 программистов и 1721 робот. Сейчас ищут 2352 программиста ...

Как представить строку UTF-8 в виде массива байт..

Тема в разделе "Прочие вопросы по PHP", создана пользователем z668, 25 ноя 2015.

  1. z668

    z668 Активный пользователь

    С нами с:
    28 мар 2011
    Сообщения:
    15
    Симпатии:
    0
    Есть код на шарпе:

    Код (PHP):
    1. var keyBytes = Encoding.UTF8.GetBytes("32 random chars"); 
    В PHP мне нужно передать этот массив байт в качестве ключа шифрования в метод `mcrypt_encrypt`.

    Каким образом это можно реализовать?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    http://php.net/mcrypt_encrypt
    Код (PHP):
    1. string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] ) 
    где здесь массив? думаю тебе надо просто использовать строку.

    а так-то, можно получить массив:
    Код (PHP):
    1. php -"var_dump(array_map('ord', str_split('string')));" 
    Код (PHP):
    1. array(6) {
    2.   [0]=>
    3.   int(115)
    4.   [1]=>
    5.   int(116)
    6.   [2]=>
    7.   int(114)
    8.   [3]=>
    9.   int(105)
    10.   [4]=>
    11.   int(110)
    12.   [5]=>
    13.   int(103)
    14. } 
    или сделать какие-то преобразования через pack(), непонятно только что именно тебе нужно.

    P.S. в PHP нет аналога сишного или еще какого низкоуровневого массива байт. как и нет типа "байт".
    в пыхе, как правило, когда надо передать нетипизованный кусок данных, используется строка.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    'string'[3]