From: Jarkko Hietaniemi Date: Thu, 14 Feb 2002 22:13:18 +0000 (+0000) Subject: Document pack U0U. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1eda90df89aea387a3d959817af94a372619a3af;p=p5sagit%2Fp5-mst-13.2.git Document pack U0U. p4raw-id: //depot/perl@14696 --- diff --git a/pod/perluniintro.pod b/pod/perluniintro.pod index 5f2f340..ee900bb 100644 --- a/pod/perluniintro.pod +++ b/pod/perluniintro.pod @@ -221,6 +221,17 @@ Note that both C<\x{...}> and C<\N{...}> are compile-time string constants: you cannot use variables in them. if you want similar run-time functionality, use C and C. +Also note that if all the code points for pack "U" are below 0x100, +bytes will be generated, just like if you were using C. + + my $bytes = pack("U*", 0x80, 0xFF); + +If you want to force the result to Unicode characters, use the special +C<"U0"> prefix. It consumes no arguments but forces the result to be +in Unicode characters, instead of bytes. + + my $chars = pack("U0U*", 0x80, 0xFF); + =head2 Handling Unicode Handling Unicode is for the most part transparent: just use the @@ -611,8 +622,9 @@ For UTF-8 only, you can use: If invalid, a C is produced. The "U0" means "expect strictly UTF-8 -encoded Unicode". Without that the C -would accept also data like C). +encoded Unicode". Without that the C +would accept also data like C), similarly to the +C as we saw earlier. =item How Do I Convert Binary Data Into a Particular Encoding, Or Vice Versa?