utf8

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Ta biblioteka zapewnia podstawowe wsparcie dla UTF-8 kodowania.Ta biblioteka nie zapewnia żadnego wsparcia dla Unicode innego niż obsługa kodowania.Każda operacja, która wymaga znaczenia znaku, takie jak klasyfikacja znaków, jest poza jej zakresem.

Chyba że zaznaczono inaczej, wszystkie funkcje, które oczekują pozycji bajtu jako parametru, zakładają, że podana pozycja jest albo początkiem sekwencji bajtów, albo jedną plus długością ciągprzedmiotu.Podobnie jak w bibliotece strun, indeksy ujemne liczą od końca ciąg.

Możesz znaleźć duży katalog używalnych UTF-8 znaków tutaj .

Podsumowanie

Funkcje

Właściwości

  • Wzór "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*", który dokładnie pasuje do zero lub więcej sekwencji bajtów UTF-8, założając, że przedmiotem jest ważna ciągUTF-8.

Funkcje

char

Otrzymuje zero lub więcej punktów kodu jako liczby całkowite, przekształca każdy z nich do odpowiadającej sekwencji bajtów UTF-8 i zwraca ciąg ze łączeniem wszystkich tych sekwencji.

Parametry

codepoints: Tuple<number>

Zwroty

Zwraca funkcję iteratora, aby konstrukcja:


for position, codepoint in utf8.codes(str) do
-- ciało
end

zostanie powtórzony na wszystkich punktach kodu w ciągu struny str. Wywołuje błąd, jeśli spotka jakąkolwiek nieprawidłową sekwencję bajtów.

Parametry

str: string

Sznurek do iterowania.

codepoint

Zwraca punkty kodu (jako liczby całkowite) z wszystkich punktów kodu w podanym ciągu (str), które rozpoczynają się między pozycjami bajtów i i j (oba włączone).Domyślny dla i jest 1 i dla j jest i.Występuje błąd, jeśli spotka się z jakąkolwiek nieprawidłową sekwencją bajtów.

Parametry

str: string

Indeks punktu kodu, który należy pobrać z tej ciąg.

Wartość domyślna: 1

Indeks ostatniego punktu kodowania pomiędzy i a j, który zostanie zwrócony. Jeśli zostanie wykluczony, domyślnie zostanie użyta wartość i.

Wartość domyślna: i

Zwroty

Zwraca liczbę punktów kodu UTF-8 w ciągu struny str, która zaczyna się między pozycjami i i j (obie włączone).Domyślny dla i jest 1 , a dla j jest -1 .Jeśli znajdzie jakąkolwiek nieprawidłową sekwencję bajtów, zwraca wartość nil plus pozycję pierwszego nieprawidłowego bajtu.

Parametry

Początkowa pozycja.

Wartość domyślna: 1

Pozycja końcowa.

Wartość domyślna: -1

Zwroty

offset

Zwraca pozycję (w bajtach) gdzie rozpoczyna się kodowanie punktu n -ego kodu s (licząc od pozycji bajtu i )Negatywny n dostaje znaki przed pozycją i.Domyślny dla i jest 1 , gdy n jest nieujemny, a #s + 1 w przeciwnym razie, tak aby utf8.offset(s, -n) uzyskał odległość od znaku n z końca ciąg.Jeśli określony znak nie jest ani w temacie, ani bezpośrednio po jego kończyć, funkcja zwraca nil .

Parametry

Wartość domyślna: 1

Zwroty

graphemes

Zwraca funkcję iteratora, aby


for first, last in utf8.graphemes(str) do
local grapheme = s:sub(first, last)
-- ciało
end

będzie iterować klastry grafemów ciąg.

Parametry

Zwroty

nfcnormalize

Konwertuje stronę wejściową do Normalnej Formy C, która próbuje przekształcić rozłożone znaki w skomponowane znaki.

Parametry

str: string

Zwroty

nfdnormalize

Konwertuje stronę wejściową do Normalnej Formy D, która próbuje rozbić skomponowane znaki na rozłożone znaki.

Parametry

str: string

Sznurek do przekonwersowania.

Zwroty

Właściwości

charpattern

Wzór "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*", który dokładnie pasuje do zero lub więcej sekwencji bajtów UTF-8, założając, że przedmiotem jest ważna ciągUTF-8.