«strings» etiketlenmiş sorular

"Dize", tipik olarak insan tarafından okunabilen bir metin birimini temsil eden bir karakter dizisidir. Bu konudaki sorular, programlardaki dizeleri işlemek ve çeşitli diller ve ortamların dizeleri nasıl tanımlayıp işlediği ile ilgilidir.

1
PHP dahili olarak dizeleri nasıl temsil eder?
UTF8? UTF16? PHP'deki dizeler kullanılan kodlamayı da takip ediyor mu? Örneğin bu senaryoya bakalım. Söyle koş: $original = "शक्नोम्यत्तुम्"; Aslında ne olur? Açıkçası bence $originalsadece 7 karakter olmayacak. Bu gliflerin her biri orada birkaç bayt ile temsil edilmelidir. Sonra yaparım: $converted = mb_convert_encoding ($original , "UTF-8"); Ne olacak $converted? Nasıl …
18 php  strings 


3
Bir arayüzde string_view'i ne zaman kullanmalıyım?
Ben mimik a amacıyla tasarlanmış, bir iç kitaplığı kullanıyorum C ++ kütüphanesi önerdi ve bazen son birkaç yıl içinde gördüğüm kendi arayüzü kullanarak değiştirildi std::stringkadar string_view. Bu yüzden yeni arayüze uymak için kodumu saygıyla değiştiriyorum. Ne yazık ki, ne geçmek zorunda bir std :: string parametresi ve std :: string …

3
Tüm yerelleştirmeler ve dize türleri için çalışan genelleştirilmiş bir dize ters işlevi yazmak mümkün müdür?
Sadece Dev-Days'in Jon Skeet (Tony the Pony ile) sunumunu izliyordum . Her ne kadar "bir dize ters fonksiyonu yazmak" kodlama röportaj 101 olsa da - Aslında tüm yerelleştirme ve tüm dize türlerinde çalışan bir değil, genel bir dize ters fonksiyonu yazmak mümkün olduğundan emin değilim. Giriş dizesinin ascii, UTF8, UTF16 …

7
Bir C kütüphanesinin işlevleri her zaman bir dizginin uzunluğunu beklemeli mi?
Şu anda C ile yazılmış bir kütüphane üzerinde çalışıyorum. Bu kütüphanenin birçok işlevi argümanlarında char*veya const char*argümanlarında bir dize bekliyor . Ben size_tboş sonlandırma gerekli değildi böylece her zaman dize uzunluğunu bekliyor bu fonksiyonları ile başladı . Bununla birlikte, test yazarken, bu, aşağıdakilerin sık sık kullanılmasına neden oldu strlen(): const …
15 c  api  strings 

16
Dize tersini ne için kullanıyorsunuz? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 6 yıl önce kapalı . …

1
ASCII tablosundaki noktalama işaretleri neden her yerde?
In ASCII tablosunun , noktalama karakterleri olmayan baskı karakterler arasında ve rakamlardan (huzuruna !"#$%&')*+,-./sayılar ile büyük harfler (arasında), :;<=>?@büyük harf (arasına) [\]^_`) ve küçük harfler ve küçük harfler sonra ( {|}~). İlk bakışta, bunların birlikte gruplandırılması beklenebilir; muhtemelen tüm alfasayısal karakterlerden önce veya arkasında. Ancak durum böyle değil; bu farklı …
13 strings  ascii 

2
Ne zaman StringBuilder veya StringBuffer kullanmalıyım?
Bir üretim web uygulamasında, program arkadaşlarım her yerde StringBuffer kullandılar. Şimdi uygulama geliştirme ve düzeltmelerle ilgileniyorum. StringBuilder ve StringBuffer'ı okuduktan sonra , veri çekirdeklerimizde iş parçacığı güvenliğine ihtiyaç duymadığımız için tüm StringBuffer kodunu StringBuilder ile değiştirmeye karar verdim. Örneğin: (Her veri çekirdeğinde StringBuffer'ın kullanımını görebilirim) @Override public String toString() { …

3
Std :: string's c_str () 'den ne gibi bir performans bekleyebiliriz? Her zaman sabit zaman?
Son zamanlarda bazı gerekli optimizasyonları yapıyorum. Yaptığım bir şey, bazı ostringstream'leri değiştirmek -> sprintfs. Ben ac stil dizisi, ala std :: dizeleri bir demet sprintf'ing char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Microsoft'un std :: string :: c_str () uygulamasının sabit zamanda çalıştığı ortaya çıkıyor (sadece dahili bir işaretçi döndürüyor). Görünüşe …

8
C dizeleri her zaman boş bırakılır mı yoksa platforma mı bağlı?
Şu anda gömülü sistemlerle çalışıyorum ve işletim sistemi olmayan bir mikroişlemcide dizeleri uygulamanın yollarını buluyorum. Şimdiye kadar ne yapıyorum sadece NULL sonlandırıldı karakter işaretçiler sahip ve onları NULL sonunu ifade dizeleri olarak muamele. Bunun oldukça yaygın olduğunu biliyorum, ama her zaman böyle olabilir mi? Sormamın nedeni, belki de bir noktada …

4
saçma sapan varsayılan değeri olan yapı
Benim sistemde sık sık havaalanı kodları (çalışabilir "YYZ", "LAX", "SFO"vs.), bunlar (büyük harf olarak temsil 3 harfi) aynı formatta her zaman vardır. Sistem tipik olarak API talebi başına bu (farklı) kodların 25-50'sini ele alır, toplamda binden fazla tahsis ile, bunlar uygulamamızın birçok katmanından geçirilir ve eşitlik açısından sık sık karşılaştırılır. …


5
ASCII dizelerini daha az bayta nasıl sıkıştırırsınız?
Diğer cihazlara mesaj gönderen benzersiz bir protokol ile gömülü bir cihazla çalışıyorum ve gönderilen paketleri ayrıştıran bir uygulama yapıyorum. Her paket 8 bayt taşır. Protokol, ilk baytın başlık olduğu ve kalan 7 baytın da veri olduğu şeklinde tanımlanır. Belirli bir kimlik dizesini geçmeye çalışıyorlar, ancak kimlik dizesi 8 karakter uzunluğunda …
12 strings  ascii  byte 

1
En Kısa Ortak Süper Dize: verilen tüm dize parçalarını içeren en kısa dizeyi bulun
Bazı dize parçaları göz önüne alındığında, tüm parçaları içeren mümkün olan en kısa tek dize ("çıkış dizesi") bulmak istiyorum. Parçalar çıktı dizesinde birbiriyle çakışabilir. Misal: Dize parçaları için: BCDA AGF ABC Aşağıdaki çıktı dizesi tüm parçaları içerir ve naif eklenerek yapılmıştır: BCDAAGFABC Bununla birlikte, bu çıkış dizesi çakışma kullandığından daha …

6
Dizeleri birer birer birleştirmek verimsiz mi?
C'de programlama günlerimden hatırlıyorum, iki dize birleştirildiğinde, işletim sisteminin birleştirilmiş dize için bellek ayırması gerekiyor, sonra program tüm dize metnini bellekteki yeni alana kopyalayabilir, daha sonra eski bellek manuel olarak serbest bırakılmak. Dolayısıyla, bu, bir listeye katılma durumunda olduğu gibi birden çok kez yapılırsa, işletim sisteminin bir sonraki birleştirmeden sonra …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.