UTF-8 ve Karakterler
Unicode işlemleri
UTF-8 ve Karakterler, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 4 dersten oluşur.
Rust Dizeleri UTF-8'dir
Her Rust String ve &str değeri UTF-8 olarak kodlanır. Bu, metnin yalnızca ASCII değil, herhangi bir Unicode karakterini içerebileceği anlamına gelir.
fn main() {
let s = String::from("caf\u{e9}");
println!("{}", s);
}UTF-8 Nedir?
UTF-8, her Unicode karakterini bir ila dört bayt kullanarak kodlar. ASCII karakterleri tek bayt kullanır; aksanlı harfler ve emojiler daha fazlasını kullanır.
fn main() {
let ascii = "A"; // 1 byte
let accent = "\u{e9}"; // 2 bytes (e-acute)
println!("{} bytes vs {} bytes", ascii.len(), accent.len());
}Baytlar ve Karakterler
Çok baytlı kodlama nedeniyle len() baytları döndürür; karakter sayısı ise daha küçük olabilir.
fn main() {
let s = "caf\u{e9}";
println!("bytes {}", s.len());
println!("chars {}", s.chars().count());
}char Türü Unicode'dur
Rust'taki bir char, tek bir baytın çok ötesinde, herhangi bir Unicode skaler değerini tutabilen 4 baytlık bir değerdir.
fn main() {
let letter = 'Z';
let accented = '\u{f1}'; // n with tilde
println!("{} {}", letter, accented);
}Karakterler Üzerinde Yineleme
Metin üzerinde karakter karakter ilerlemek için chars() kullanınız. Bu, çok baytlı karakterleri doğru şekilde işler.
fn main() {
let s = "a\u{e9}z";
for c in s.chars() {
println!("{}", c);
}
}Neden Sayıya Göre İndeksleyemezsiniz?
Rust, bir dize üzerinde not s[0] kullanımına izin vermez. Karakterlerin bayt boyutları farklı olduğundan, tek bir sayıyla dizine erişmek belirsiz ve güvenli olmayan bir işlem olurdu.
fn main() {
let s = "hello";
// let c = s[0]; // error: cannot index a str
let first = s.chars().next().unwrap();
println!("{}", first);
}nth Karakterini Alma
Bir karakteri konumuna göre almak için nth yineleyici yöntemini kullanın. Bu yöntem bir Option döndürür.
fn main() {
let s = "abcdef";
let third = s.chars().nth(2);
println!("{:?}", third);
}Baytlar Üzerinde Yineleme
Ham baytlara gerçekten ihtiyaç duyduğunuzda, u8 değerleri üreten bytes() yöntemini kullanın.
fn main() {
let s = "AB";
for b in s.bytes() {
println!("{}", b);
}
}Bayt Sınırlarında Dilimleme
Dize dilimleri bayt dizinlerini kullanır. Dilimleme geçerli bir karakter sınırında sona ermelidir; aksi hâlde program panikler.
fn main() {
let s = "hello";
let part = &s[0..3]; // valid ASCII boundary
println!("{}", part);
}char Yöntemleri
char türünde is_alphabetic, is_numeric ve to_uppercase gibi kullanışlı yöntemler vardır.
fn main() {
let c = 'k';
println!("alpha {} numeric {}", c.is_alphabetic(), c.is_numeric());
println!("upper {}", c.to_uppercase());
}Belirli Karakterleri Sayma
Bir koşulla eşleşen karakterleri saymak için chars ile filter yöntemlerini birleştirin.
fn main() {
let s = "banana";
let a_count = s.chars().filter(|&c| c == 'a').count();
println!("a appears {} times", a_count);
}Hızlı Kontrol
Dize uzunluğunun neden şaşırtıcı olabileceğini hatırlayın.
Özet
Rust'ta UTF-8 ve chars:
- Dizeler UTF-8'dir; karakterler 1 ile 4 bayt arasında yer kaplar.
len()baytları,chars().count()ise karakterleri verir.- Bir dizeye sayıyla dizin kullanarak erişemezsiniz;
chars()veyanthkullanın. - Dilimler karakter sınırlarına denk gelmelidir.
fn main() {
let s = "sm\u{ee}le";
println!("bytes {} chars {}", s.len(), s.chars().count());
for c in s.chars() {
print!("{} ", c);
}
println!();
}Sıkça Sorulan Sorular
“UTF-8 ve Karakterler” dersi ücretsiz mi?
Evet — “UTF-8 ve Karakterler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 4 dersten oluşur.
“UTF-8 ve Karakterler” dersinde ne öğreneceğim?
Unicode işlemleri Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“UTF-8 ve Karakterler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- String ve &str Karşılaştırması
- Dilimler
- Dize Yöntemleri
- UTF-8 ve Karakterler