Sherif,
You're right. It does break BC, but this was a bug fix. > https://bugs.php.net/bug.php?id=61038 > > The behavior is incorrect in that regard. > However in this case that *bug* does have fairly significant BC implications. In fact, how I read the specification is that the original binary format is NULL padded, not the resulting string. Therefore, you could make the argument that the new behavior is wrong. In any case, I'd suggest reverting the "bug fix" for "a", and then adding Z which keeps the raw bytes. So that way the "bug" would be fixed by the "Z" parameter, but "a" would still behave as it always has (allowing things like Archive_Tar to still work properly). Otherwise it's a BC break that has weird implications (having different format specifications for 5.4 and 5.5, or requiring odd things like running trim on the output... My $0.02... Anthony