Name

SPVM::Unicode - Unicode Utilities.

Description

The Unicode class of SPVM has methods for Unicode utilities.

Usage

use Unicode;

my $string = "あいうえお";
my $pos = 0;
while ((my $uchar = Unicode->uchar($string, \$pos)) >= 0);
  # ...
}

Class Methods

ERROR_INVALID_UTF8

static method INVALID_UTF8 : int ();

Returns -2.

is_unicode_scalar_value

static method is_unicode_scalar_value : int ($code_point: int);

If the code point $code_point is a Unicode scalar value, returns 1. Otherwise returns 0.

uchar

static method uchar : int ($string : string, $offset_ref : int*);

Gets a Unicode codepoint by parsing UTF-8 string $string with the offset $$offset_ref and proceed the offset to the next parsing posision.

If $$offset_ref is over the string length, returns -1.

If an invalid UTF-8 character is found, returns the value of "ERROR_INVALID_UTF8".

uchar_to_utf8

static method uchar_to_utf8 : string ($unicode_code_point : int);

Converts the Unicode codepoint $unicode_code_point to a UTF-8 character.

If the $unicode_code_point is invalid Unicode code point, returns undef.

utf8_to_utf16

static method utf8_to_utf16 : short[] ($string : string);

Converts the UTF-8 string $string to a UTF-16 string, and returns it.

utf16_to_utf8

static method utf16_to_utf8 : string ($string : short[]);

Converts the UTF-16 string $string to a UTF-8 string, and returns it.

utf32_to_utf16

static method utf32_to_utf16 : short[] ($string : int[]);

Converts the UTF-32 string $string to a UTF-16 string, and returns it.

utf16_to_utf32

static method utf16_to_utf32 : int[] ($string : short[]);

Converts the UTF-16 string $string to a UTF-32 string, and returns it.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License