Вопросы с тегом «strings»

«Строка» - это последовательность символов, обычно представляющая единицу читаемого человеком текста. Вопросы по этой теме касаются обработки строк в программах, а также того, как различные языки и среды определяют строки и управляют ими.

1
Как PHP внутренне представляет строки?
UTF8? UTF16? Строки в PHP также отслеживают используемую кодировку? Давайте посмотрим на этот скрипт для примера. Скажи, что я бегу: $original = "शक्नोम्यत्तुम्"; Что на самом деле происходит? Очевидно, я думаю $original, не будет содержать только 7 символов. Эти глифы должны быть представлены несколькими байтами. Тогда я делаю: $converted = …
18 php  strings 

3
Сколько строк создается в памяти при объединении строк в Java?
Меня спросили об неизменных строках в Java. Мне было поручено написать функцию, которая объединяет несколько символов «a» в строку. То, что я написал: public String foo(int n) { String s = ""; for (int i = 0; i < n; i++) { s = s + "a" } return s; …
17 java  strings  object 

3
Когда я должен использовать string_view в интерфейсе?
Я использую внутреннюю библиотеку, которая была разработана для имитации предложенной библиотеки C ++ , и иногда в последние несколько лет я вижу, что ее интерфейс изменился с использования std::stringна string_view. Поэтому я покорно изменяю свой код, чтобы соответствовать новому интерфейсу. К сожалению, я должен передать параметр std :: string и …

3
Можно ли написать обобщенную функцию обращения строк, которая работает для всех локализаций и типов строк?
Я просто смотрел презентацию Джона Скита (с Тони Пони) из Dev-Days. Хотя «написать функцию обратного преобразования строк» ​​- это кодирование интервью 101 - я не уверен, что на самом деле можно написать общую функцию обратного преобразования строк, конечно, не такую, которая работает во всех локализациях и всех типах строк. Помимо …

7
Должны ли функции библиотеки C всегда ожидать длину строки?
В настоящее время я работаю над библиотекой, написанной на 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 …

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

8
Всегда ли строки C заканчиваются нулем или это зависит от платформы?
Сейчас я работаю со встроенными системами и выясняю способы реализации строк в микропроцессоре без операционной системы. Пока что я просто использую идею использования NULL-концевых символьных указателей и обрабатываю их как строки, где NULL обозначает конец. Я знаю, что это довольно часто, но всегда ли вы можете рассчитывать на это? Причина, …

4
структура с бессмысленным значением по умолчанию
В моей системе я часто работаю с кодами аэропортов ( "YYZ", "LAX", "SFO"и т.д.), они всегда находятся в том же формате (3 письма, представленный в верхнем регистре). Система обычно имеет дело с 25-50 из этих (разных) кодов на запрос API, с общим количеством распределений более тысячи, они проходят через многие …

2
Почему PHP рассматривает «0» как ЛОЖЬ в логических контекстах?
«0», как строка, содержащая один символ, не является чем-то пустым интуитивно. Почему PHP обрабатывает его как FALSE при преобразовании в логическое значение, в отличие от других языков программирования?
12 php  strings  boolean 

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

1
Shortest Common Superstring: найти самую короткую строку, содержащую все заданные фрагменты строки
Учитывая некоторые строковые фрагменты, я хотел бы найти самую короткую возможную единственную строку («выходная строка»), которая содержит все фрагменты. Фрагменты могут перекрывать друг друга в выходной строке. Пример: Для фрагментов строки: BCDA AGF ABC Следующая выходная строка содержит все фрагменты и была сделана наивным добавлением: BCDAAGFABC Однако эта выходная строка …

6
Неэффективно ли объединять строки по одной?
В те дни, когда я программировал на C, я вспоминаю, что когда две строки объединяются, ОС должна выделить память для объединенной строки, затем программа может скопировать весь текст строки в новую область памяти, а затем старая память должна вручную быть выпущеным. Таким образом, если это делается несколько раз, как в …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.