Bir PHP dizeye bir C (\ 0 sonlandırılmış) dize dönüştürme

0 Cevap php

PHP Ben periyodik olarak kullanmak bu dillerinden biridir, ama genellikle ben tekrar kullanmaya başladığınızda pasını tozunu var. Aynı PHP Ben liman iken bu hafta bazı C kodu geçerlidir. Bu AES şifreleme ve SHA256 sağlama bir çok kullanır - tüm çalışma cezası kadar. Ancak, deşifre dizeleri "C" şeklinde çıkıp - "çöp" doldurma bayt ardından bir sıfır bayt ile sonlandırıldı yani.

Şu anda aşağıdaki ile PHP form bu C-tarzı dizeleri "trim":

$iv = strpos( $hashsalt8, "\0");
if ($iv)
   $hashsalt8 = substr( $hashsalt8, 0, $iv );

Uzun soluklu ve o görünüyor orada yerine bir satır işlev çağrısı olmalıdır, ama ben bulamıyorum?

Not: Bu durumda "karma tuz" adı I orijinal dize uzunluğunu biliyor olabilir ima rağmen, bu genel durumda bilinmemektedir. Açıkçası bir tek satır çözüm kullanarak mevcuttur substr() uzunluğu a priori olarak bilinmesi zaman.

0 Cevap