Pytania otagowane jako strings

„Ciąg” to sekwencja znaków zwykle reprezentująca jednostkę tekstu czytelnego dla człowieka. Pytania na ten temat dotyczą przetwarzania łańcuchów w programach oraz tego, jak różne języki i środowiska definiują łańcuchy i manipulują nimi.

1
W jaki sposób PHP wewnętrznie reprezentuje łańcuchy?
UTF8? UTF16? Czy łańcuchy w PHP śledzą również używane kodowanie? Spójrzmy na przykład na ten skrypt. Powiedz, że biegnę: $original = "शक्नोम्यत्तुम्"; Co się właściwie dzieje? Oczywiście myślę, że $originalnie będzie zawierać tylko 7 znaków. Te glify muszą być reprezentowane przez kilka bajtów. Następnie robię: $converted = mb_convert_encoding ($original , …
18 php  strings 


3
Kiedy powinienem używać string_view w interfejsie?
Korzystam z biblioteki wewnętrznej, która została zaprojektowana tak, aby naśladować proponowaną bibliotekę C ++ , a czasami w ciągu ostatnich kilku lat widzę, że jej interfejs zmienił się z używania std::stringna string_view. Dlatego sumiennie zmieniam kod, aby dostosować się do nowego interfejsu. Niestety, muszę przekazać parametr std :: string i …

3
Czy można napisać uogólnioną funkcję odwracania łańcucha, która działa dla wszystkich lokalizacji i typów ciągów?
Właśnie oglądałem prezentację Jona Skeeta (z Tony the Pony) z Dev-Days. Chociaż „napisz funkcję odwrotną do łańcucha” to kodowanie wywiadu 101 - nie jestem pewien, czy tak naprawdę można napisać ogólną funkcję odwrotną do ciągu, z pewnością nie taką, która działa we wszystkich lokalizacjach i wszystkich typach ciągów. Oprócz wykrycia, …

7
Czy funkcje biblioteki C powinny zawsze oczekiwać długości łańcucha?
Obecnie pracuję nad biblioteką napisaną w C. Wiele funkcji tej biblioteki oczekuje łańcucha jako char*lub const char*w swoich argumentach. Zacząłem od tych funkcji, które zawsze oczekiwały długości łańcucha, size_taby nie było wymagane zakończenie zerowe. Jednak podczas pisania testów spowodowało to częste korzystanie z strlen(): const char* string = "Ugh, strlen …
15 c  api  strings 

16
Do czego używasz odwracania łańcucha? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

1
Dlaczego znaki interpunkcyjne w tabeli ASCII są wszędzie?
W tabeli ASCII znaki interpunkcyjne pojawiają się między znakami niedrukowalnymi i przed cyframi ( !"#$%&')*+,-./), między cyframi a dużymi literami ( :;<=>?@), między dużymi literami ( [\]^_`) i małymi literami oraz po małych literach ( {|}~). Na pierwszy rzut oka można się spodziewać, że zostaną one zgrupowane; być może przed …
13 strings  ascii 

2
Kiedy powinienem używać StringBuilder lub StringBuffer?
W produkcyjnej aplikacji internetowej moi koledzy programiści używali StringBuffer wszędzie. Teraz zajmuję się tworzeniem aplikacji i poprawkami. Po przeczytaniu StringBuilder i StringBuffer postanowiłem zastąpić cały kod StringBuffer StringBuilder, ponieważ nie potrzebujemy bezpieczeństwa wątków w naszych komponentach bean danych. Na przykład: (W każdej fasoli danych widzę użycie StringBuffer) @Override public String …

3
Jakiej wydajności możemy się spodziewać po c_str () std :: string? Zawsze stały czas?
Ostatnio przeprowadzałem kilka potrzebnych optymalizacji. Jedną rzeczą, którą robiłem, jest zmiana niektórych ostringstreams -> sprintfs. Sprint do zestawu std :: strings do tablicy w stylu ac, ala char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Okazuje się, że implementacja std :: string :: c_str () Microsoftu działa w stałym czasie (zwraca tylko …


4
struct z bezsensowną wartością domyślną
W moim systemie często działają z kodami Airport ( "YYZ", "LAX", "SFO", itp), są one zawsze dokładnie w tym samym formacie (3 litery, reprezentowane jako wielkie litery). System zazwyczaj zajmuje się 25-50 z tych (różnych) kodów na każde żądanie API, z sumą ponad tysiąca alokacji, są one przekazywane przez wiele …


5
Jak kompresujesz ciągi ASCII do mniejszej liczby bajtów?
Pracuję z urządzeniem osadzonym z unikalnym protokołem, który wysyła wiadomości do innych urządzeń i tworzę aplikację, która analizuje wysłane pakiety. Każdy pakiet zawiera 8 bajtów. Protokół jest zdefiniowany jako gdzie pierwszy bajt to nagłówek, a pozostałe 7 bajtów to dane. Próbują przekazać określony ciąg identyfikatora, ale ciąg identyfikatora ma długość …
12 strings  ascii  byte 

1
Najkrótszy wspólny superstring: znajdź najkrótszy ciąg zawierający wszystkie podane fragmenty ciągu
Biorąc pod uwagę niektóre fragmenty ciągu, chciałbym znaleźć możliwie najkrótszy pojedynczy ciąg („ciąg wyjściowy”), który zawiera wszystkie fragmenty. Fragmenty mogą nakładać się na siebie w ciągu wyjściowym. Przykład: W przypadku fragmentów łańcucha: BCDA AGF ABC Poniższy ciąg wyjściowy zawiera wszystkie fragmenty i został utworzony przez naiwne dołączanie: BCDAAGFABC Jednak ten …

6
Czy łączenie łańcuchów pojedynczo jest nieefektywne?
Przypominam sobie z moich dni programowania w C, że gdy dwa łańcuchy są połączone, system operacyjny musi przydzielić pamięć dla połączonego łańcucha, następnie program może skopiować cały tekst łańcucha do nowego obszaru w pamięci, a następnie stara pamięć musi ręcznie być uwolnionym. Jeśli więc jest to wykonywane wielokrotnie, tak jak …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.