2008-12-03 4 views
5

Почему nvarchar (256) кажется стандартным для имен пользователей в SQL Server?nvarchar (256) ....?

Любые системные функции, которые возвращают возвращаемое имя пользователя NVARCHAR (256), поставщик ASP членство использует NVARCHAR (256)

256 походит на нечетное число (да, я знаю его даже ...) - 255 Я мог понять (1 байт адрес), но 256 не имеет смысла для меня.

Может ли кто-нибудь объяснить?

ответ

13

Как программисты, мы автоматически рассчитываем начиная с 0, но в этом случае nvarchar (0) не будет означать никаких символов. Оказывается, что 256 - ваш хороший круглый номер 2^8.

+0

Подождите ... Я мог бы показывать свою задницу, но если ее nvarchar, это означает, что каждый является символом юникода. Каждый символ имеет 16 бит (nvarchar -> utf-16 ??), поэтому 256 * 16 = 4096 бит или 512 байт? Я ошибаюсь? – Will

+0

(разумеется, * varchars содержат только то, что в них, nchar (256) будет занимать 512 байт в базе данных) – Will

+0

Да, конечно, вы правы. Я думал: «256 возможностей вписываются в один байт, это 0-255) ... – Rich

2

2^8 256, а не 255.

Много раз вы увидите схемы нумерации 0-255, который 256 чисел, когда Вы включите 0.

1

Опыт показывает, что, по различным базам данных по период времени 256 представляется минимальным значением для максимальной длины строковых полей. Я не удивлюсь, если он вернется к dBASE.

Смежные вопросы