Я хотел бы преобразовать строку base64 в другие типы, то есть целочисленный, float и char.string base64 to integer/float/char array в php
В Java я могу использовать ByteBuffer объект, так что легко получить значение с методами, как stream.getInt()
, stream.getLong()
, stream.getChar()
, stream.getFloat()
и т.д.
Но как это сделать в PHP?
Редактировать: Я пробовал функцию PHP base64-decode PHP, но этот декодировать строку, я хочу декодировать числа.
Edit2:
В Java:
import java.nio.ByteBuffer;
import javax.xml.bind.DatatypeConverter;
public class Main {
public static void main(String[] args) {
ByteBuffer stream = ByteBuffer.wrap(DatatypeConverter.parseBase64Binary("AAGdQw=="));
while (stream.hasRemaining()) {
System.out.println(stream.getInt());
}
}
}
отображает 105795
Но в PHP:
$nb = base64_decode('AAGdQw=='); // the result is not a stringified number, neither printable
settype($nb, 'int');
echo $nb;
отображает 0
, потому что base64_decode('AAGdQw==')
не является печати.
вы пытались что-нибудь до сих пор? возможно, прочитав руководство, особенно о [base64_decode] (http://php.net/manual/en/function.base64-decode.php) и [type juggling] (http://php.net/manual/en/language .types.type-juggling.php)? –
Конечно, я пробовал base64_decode, но я не хочу декодировать строку, я хочу также декодировать целые числа и плавать. – roipoussiere
вот почему я связался со страницей о жонглировании типа. –