Правильно ли говорить, что в строковой переменной все символы ASCII могут храниться? - PullRequest
0 голосов
/ 22 октября 2018

Я хочу знать, будет ли по определению правильно говорить «Строковая переменная может содержать каждый символ ASCII» без связи с ограничениями по длине.Или строковая переменная не может хранить некоторые символы?И если так, есть ли разница в упомянутом ограничении между полем ввода HTML и, например, строковой переменной Java?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Было бы одинаково странно описывать текст в HTML как ASCII, как это было бы в Java.Текст в HTML взят из набора символов Unicode.Типы текстовых данных в Java используют кодировку UTF-16 набора символов Unicode.

Разработчики Unicode включают символы почти всех других компьютеризированных наборов символов.Вы, наверное, знакомы со многими ?.(Символы из набора символов ISO 8859-1 включены в Unicode с теми же номерами, что и первые 256 кодовых точек. (Символы из набора символов ASCII включены в набор символов ISO 8859-1 с идентичными номерами в качестве первых 128 кодовых точек..))

Несмотря на то, что Unicode огромен (пространство кодовых точек составляет 21 бит, но только от 0 до 1114111), практические ограничения на длину текста в реализациях Java и процессорах HTML должны намного превышать это.Кроме того, входные данные HTML обычно отправляются обратно на веб-сервер с использованием HTTP.Как правило, с этим не должно быть проблем, за исключением веб-серверов, работающих на крошечных устройствах.

0 голосов
/ 22 октября 2018

String Variable позволяет хранить любые символы ASCII.

String allSymbolsASCII = IntStream.range(0, 128)
    .mapToObj(i -> (char) i).map(c -> c.toString())
    .collect(Collectors.joining());
IntStream.range(0, allSymbolsASCII.length())
    .forEach(i -> System.out.println("" + i + " = " + allSymbolsASCII.charAt(i)));
...