So, what you are really saying here, finally, is that there are not 4 possibilities, but only two. Because the terminating null bytes are unavoidable and not part of the Perl data.
And of those two possibilities
One, starts life in perl as a string containing just two values, and ends up in C as a char array containing just two values.
And those values are single bytes in both cases. Eg. A byte string in Perl and a char array in C.
The other starts life in perl as a string containing two values, but ends up in C as a char array containing four values.
This because the values in the perl string are multi-bytes characters. Two bytes each in this case. Eg. A character string in Perl, and a char array in C.
I'd call that vindication of Buk's position. And all it took was 57 levels of exchanges for you to get around to admitting it.
In reply to Re^56: Interleaving bytes in a string quickly
by Anonymous Monk
in thread Interleaving bytes in a string quickly
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |