utf8.multi-byte-char

pattern

Library: UTF-8 (OMUTF8)
Import : omutf8.xmd

Declaration
export switch function 
 multi-byte-char overlong-handling value error-handling-type overlong-handling optional


Purpose

The function utf8.multi-byte-char matches only multi-byte UTF-8 encoded characters (those with numeric values greater than 128). By default, utf8.multi-byte-char will not match overlong values. You can change this behavior by specifying the overlong-handling argument as utf8.allowed. If overlong-handling is specified as utf8.not-allowed-with-throw, an overlong value will trigger a throw to utf8.overlong-sequence . If it is not specified, or specified as utf8.not-allowed, overlong sequences are not matched and the pattern functions will return false .

Example

The following program uses utf8.multi-byte-char to match multi-byte UTF-8 characters and re-emit them as XML character entities:

 import "omutf8.xmd" prefixed by utf8.
 
 process
 repeat scan "flamb%195#%169#"
 match utf8.single-byte-char+ => c
 output c
 
 match utf8.multi-byte-char => c
 local integer n initial { utf8.code-point of c }
 
 do when n > 255
 output "&#x" || "16rud" % n || ";"
 
 else
 output "b" % n
 done
 again

Usage Note

To use utf8.multi-byte-char, you must import OMUTF8 into your program using an import declaration such as:

 import "omutf8.xmd" prefixed by utf8.

Related Topics
Other Library Functions

AltStyle によって変換されたページ (->オリジナル) /