utf8

utf8 kütüphanesi, UTF-8 kodlaması için temel destek sağlar. Bu kütüphane, kodlamanın yönetimi dışında Unicode için herhangi bir destek sağlamaz. Karakter sınıflandırması gibi bir karakterin anlamını gerektiren herhangi bir işlem, kapsamı dışındadır.

Aksi belirtilmedikçe, parametre olarak bir bayt konumu bekleyen tüm fonksiyonlar, verilen konumun ya bir bayt dizisinin başlangıcı ya da hedef metnin uzunluğunun bir fazlası olduğunu varsayar. string kütüphanesinde olduğu gibi, negatif indeksler metnin sonundan itibaren sayılır.

Alanlar

Bu bir fonksiyon DEĞİLDİR, bu bir desendir (bir fonksiyon değil, bir metin). Hedef metnin geçerli bir UTF-8 metni olduğu varsayılarak, tam olarak bir UTF-8 bayt dizisiyle eşleşir.

Metotlar

string utf8.char( ... )
Sıfır veya daha fazla tam sayı alır, her birini karşılık gelen UTF-8 bayt dizisine dönüştürür ve tüm bu dizilerin birleştirilmesiyle oluşan bir metin döndürür.
vararg utf8.codepoint( string string, number startPos = 1, number endPos = 1 )
Verilen metinde, `startPos` ve `endPos` bayt konumları arasında başlayan tüm karakterlerin kod noktalarını (sayı olarak) döndürür. Geçersiz bir bayt dizisiyle karşılaşırsa bir hata verir. Bu fonksiyon `string.byte`'a benzer şekilde çalışır.
function utf8.codes( string string )
Metindeki her bir utf8 karakterinin hem konumunu hem de kod noktasını döndüren bir yineleyici (`string.gmatch` gibi) döndürür. Geçersiz bir bayt dizisiyle karşılaşırsa bir hata verir.
string utf8.force( string string )
Bir metni yalnızca geçerli UTF-8 verisi içermeye zorlar. Geçersiz diziler U+FFFD (Unicode değiştirme karakteri) ile değiştirilir. Bu, kullanıcıların bir metnin yalnızca geçerli UTF-8 verisi içerdiğinden emin olmaları için pratik bir yoldur.
string utf8.GetChar( string str, number index )
`string.GetChar` fonksiyonunun UTF-8 uyumlu bir versiyonu.
number, number utf8.len( string string, number startPos = 1, number endPos = -1 )
Verilen metinde, `startPos` ve `endPos` konumları arasında (her ikisi de dahil) bulunan UTF-8 dizilerinin sayısını döndürür. Eğer geçersiz bir UTF-8 bayt dizisi bulursa, `false` değerini ve ilk geçersiz baytın konumunu döndürür.
number utf8.offset( string string, number n, number startPos = 1 when n>=0, -1 otherwise )
Verilen `startPos` konumundan sonraki n'inci UTF-8 karakterinin bayt indeksini döndürür (eğer yoksa `nil`). `n` pozitif olduğunda `startPos` varsayılan olarak 1, `n` negatif olduğunda ise -1'dir. Eğer `n` sıfır ise, bu fonksiyon bunun yerine `startPos`'un içinde bulunduğu UTF-8 karakterinin bayt indeksini döndürür.
string utf8.sub( string string, number StartPos, number EndPos = nil )
`string.sub` fonksiyonunun UTF-8 uyumlu bir versiyonu. Gecikmelere (lag) neden olabileceğinden, bu fonksiyonu her tick/frame'de büyük metinler üzerinde kullanmaktan kaçının.

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord