pub struct CodePoint { /* private fields */ }
Expand description
A Unicode code point: from U+0000 to U+10FFFF.
Compare with the char
type,
which represents a Unicode scalar value:
a code point that is not a surrogate (U+D800 to U+DFFF).
Implementations§
Source§impl CodePoint
impl CodePoint
Sourcepub unsafe fn from_u32_unchecked(value: u32) -> CodePoint
pub unsafe fn from_u32_unchecked(value: u32) -> CodePoint
Unsafely create a new CodePoint
without checking the value.
Only use when value
is known to be less than or equal to 0x10FFFF.
Sourcepub fn from_u32(value: u32) -> Option<CodePoint>
pub fn from_u32(value: u32) -> Option<CodePoint>
Create a new CodePoint
if the value is a valid code point.
Return None
if value
is above 0x10FFFF.
Sourcepub fn from_char(value: char) -> CodePoint
pub fn from_char(value: char) -> CodePoint
Create a new CodePoint
from a char
.
Since all Unicode scalar values are code points, this always succeds.
Sourcepub fn to_char(&self) -> Option<char>
pub fn to_char(&self) -> Option<char>
Optionally return a Unicode scalar value for the code point.
Return None
if the code point is a surrogate (from U+D800 to U+DFFF).
Sourcepub fn to_char_lossy(&self) -> char
pub fn to_char_lossy(&self) -> char
Return a Unicode scalar value for the code point.
Return '\u{FFFD}'
(the replacement character “�”)
if the code point is a surrogate (from U+D800 to U+DFFF).
Trait Implementations§
Source§impl Debug for CodePoint
Format the code point as U+
followed by four to six hexadecimal digits.
Example: U+1F4A9
impl Debug for CodePoint
Format the code point as U+
followed by four to six hexadecimal digits.
Example: U+1F4A9
Source§impl Extend<CodePoint> for Wtf8Buf
Append code points from an iterator to the string.
impl Extend<CodePoint> for Wtf8Buf
Append code points from an iterator to the string.
This replaces surrogate code point pairs with supplementary code points, like concatenating ill-formed UTF-16 strings effectively would.
Source§fn extend<T: IntoIterator<Item = CodePoint>>(&mut self, iterable: T)
fn extend<T: IntoIterator<Item = CodePoint>>(&mut self, iterable: T)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Source§impl FromIterator<CodePoint> for Wtf8Buf
Create a new WTF-8 string from an iterator of code points.
impl FromIterator<CodePoint> for Wtf8Buf
Create a new WTF-8 string from an iterator of code points.
This replaces surrogate code point pairs with supplementary code points, like concatenating ill-formed UTF-16 strings effectively would.