Запитання з тегом «strings»

"Рядок" - це послідовність символів, яка зазвичай представляє собою одиницю тексту, прочитаної людиною. Питання на цю тему стосуються обробки рядків у програмах, а також того, як різні мови та середовища визначають та обробляють рядки.

1
Як PHP внутрішньо представляє рядки?
UTF8? UTF16? Чи також рядки в PHP відслідковують використовуване кодування? Давайте розглянемо, наприклад, цей сценарій. Скажіть, я бігаю: $original = "शक्नोम्यत्तुम्"; Що насправді відбувається? Очевидно, я думаю $original, що не буде містити всього 7 символів. Ці гліфи повинні бути представлені кількома байтами там. Тоді я роблю: $converted = mb_convert_encoding ($original …
18 php  strings 


3
Коли я повинен використовувати string_view в інтерфейсі?
Я використовую внутрішню бібліотеку, яка була створена для імітації запропонованої бібліотеки C ++ , і десь за останні кілька років я бачу, що її інтерфейс змінився від використання std::stringна string_view. Тож я достойно змінюю свій код, щоб відповідати новому інтерфейсу. На жаль, те, що мені потрібно передати, - це параметр …

3
Чи можна написати узагальнену функцію зворотного рядка, яка працює для всіх локалізацій та типів рядків?
Я тільки дивився презентацію Джона Скіта (з Тоні Поні) від Dev-Days. Хоча "записувати функцію зворотного рядка" є інтерв'ю 101 кодування - я не впевнений, що насправді можливо записати загальну функцію зворотного рядка, звичайно не ту, яка працює у всіх локалізаціях та всіх типах рядків. Крім визначення того, чи є вхідна …

7
Чи повинні функції бібліотеки С завжди очікувати довжини рядка?
В даний час я працюю над бібліотеки , написаної на C. Багато функцій цієї бібліотеки Очікувати рядок , як char*і const char*в своїх міркуваннях. Я почав з тих функцій, завжди очікуючи довжини рядка, size_tтак що нульове завершення не потрібно. Однак при написанні тестів це призводило до частого використання strlen()таких матеріалів: …
15 c  api  strings 

16
Для чого використовується обертання рядків? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

1
Чому розділові знаки в таблиці ASCII є повсюдно?
У таблиці ASCII знаки пунктуації відображаються між символами, які не друкуються, і перед цифрами ( !"#$%&')*+,-./), між цифрами та великими літерами ( :;<=>?@), між великими літерами ( [\]^_`) та малими літерами та після малих літер ( {|}~). На перший погляд, можна було б очікувати, що вони згрупуються; можливо або перед …
13 strings  ascii 

2
Коли я повинен використовувати StringBuilder або StringBuffer?
У виробничому веб-додатку мої колеги-програмісти всюди використовували StringBuffer. Тепер я дбаю про розробку та виправлення програм. Прочитавши StringBuilder і StringBuffer, я вирішив замінити весь код StringBuffer на StringBuilder, оскільки нам не потрібна безпека потоку в наших бобах даних. Наприклад: (У кожному бобі даних я бачу використання StringBuffer) @Override public String …

3
Якої продуктивності можна очікувати від c_str () std :: string? Завжди постійний час?
Останнім часом я робив деякі необхідні оптимізації. Одне, що я робив, - це змінити деякі ostringstreams -> sprintfs. Я sprintf'ing купу std :: рядків до масиву стилів ac, ала char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Виявляється, реалізація std :: string :: c_str () Microsoft працює в постійний час (вона просто …

8
Чи завжди рядки C недійсні, або це залежить від платформи?
Зараз я працюю з вбудованими системами і з'ясовую способи реалізації рядків на мікропроцесорі без операційної системи. Поки що я роблю, це просто використовувати ідею мати покажчики символів, що припиняються NULL, і трактувати їх як рядки, де NULL означає кінець. Я знаю, що це досить часто, але чи завжди ви можете …

4
структура з безглуздим значенням за замовчуванням
У моїй системі я часто працюю з кодами аеропортів ( "YYZ", "LAX", "SFO"і т.д.), вони завжди знаходяться в тому ж форматі (3 листи, представлений в верхньому регістрі). Зазвичай система займається 25-50 цими (різними) кодами на запит API, загалом - понад тисяча виділень, вони передаються через багато шарів нашої програми, і …


5
Як ви стискаєте рядки ASCII в меншу кількість байтів?
Я працюю з вбудованим пристроєм з унікальним протоколом, який надсилає повідомлення на інші пристрої, і я роблю програму, яка аналізує надіслані пакети. Кожен пакет містить 8 байт. Протокол визначається так, як перший байт - заголовок, а решта - 7 байт. Вони намагаються передати певний рядок ідентифікатора, але ID для нього …
12 strings  ascii  byte 

1
Найкоротша загальна суперрядка: знайдіть найкоротший рядок, який містить усі задані фрагменти рядків
З огляду на деякі фрагменти рядків, я хотів би знайти найкоротший можливий єдиний рядок ("рядок виводу"), який містить усі фрагменти. Фрагменти можуть накладатися один на одного у вихідному рядку. Приклад: Для фрагментів рядків: BCDA AGF ABC Наступний вихідний рядок містить усі фрагменти і був зроблений шляхом наївного додавання: BCDAAGFABC Однак …

6
Чи неефективно об'єднувати рядки один за одним?
Згадую з моїх днів програмування на C, що коли два струни об'єднані, ОС повинна виділити пам'ять для об'єднаного рядка, тоді програма може скопіювати весь текст рядка в нову область в пам'яті, тоді стара пам'ять повинна вручну бути звільненим. Тож якщо це робиться кілька разів, як у випадку приєднання до списку, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.