Новая каноническая запись Guid
От: Osaka  
Дата: 26.12.11 06:53
Оценка:
Традиционными способами Guid записывается очень неудобно. Его невозможно выделить, просто ткнув 2 раза мышью (как слово) и надо то писать то не писать кавычки, то " в c# то ' в sql. Скопировать несколько штук guid'ов превращается в какой-то индийский танец на клавиатуре.

Многие участники форума занимаются созданием средств разработки. Предлагаю начать внедрять новый формат, что-то вроде:
"u" + guid, закодированный в Base64 (24 символа вместо обычных 36).
(например ujpRGpgxW4Q6AtxKfEQy7Sckw)
И обязательно без кавычек (в трансляторах — всё что начинается с U и имеет длину 25 символов — считается guid'ом и окрашивается своим цветом).
Re: Новая каноническая запись Guid
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 26.12.11 06:59
Оценка: :)
Здравствуйте, Osaka, Вы писали:

O>Многие участники форума занимаются созданием средств разработки. Предлагаю начать внедрять новый формат, что-то вроде:

O>"u" + guid, закодированный в Base64 (24 символа вместо обычных 36).
O>(например ujpRGpgxW4Q6AtxKfEQy7Sckw)
O>И обязательно без кавычек (в трансляторах — всё что начинается с U и имеет длину 25 символов — считается guid'ом и окрашивается своим цветом).

Да, да, да!
Вселенная бесконечна как вширь, так и вглубь.
Re: Новая каноническая запись Guid
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 07:12
Оценка:
Здравствуйте, Osaka, Вы писали:

O>Традиционными способами Guid записывается очень неудобно. Его невозможно выделить, просто ткнув 2 раза мышью (как слово) и надо то писать то не писать кавычки, то " в c# то ' в sql. Скопировать несколько штук guid'ов превращается в какой-то индийский танец на клавиатуре.


O>Многие участники форума занимаются созданием средств разработки. Предлагаю начать внедрять новый формат, что-то вроде:

O>"u" + guid, закодированный в Base64 (24 символа вместо обычных 36).

Base64 тут не подойдёт из-за допустимости в нём символов типа '/' и '+'. Подбирать аналоги неудобно. Если взять base62 (26+26+10), получится: логарифм 2**128 по основанию 62 равен 21.497, значит, 22 хватит для собственно тела и плюс 'U' впереди — получится 23 символа.
Да, такое будет работать. Но вот писать такую арифметику во всех причастных средствах — народ не обрадуется.

O>(например ujpRGpgxW4Q6AtxKfEQy7Sckw)

O>И обязательно без кавычек (в трансляторах — всё что начинается с U и имеет длину 25 символов — считается guid'ом и окрашивается своим цветом).

Теперь, как в анекдоте, осталось уговорить Рокфеллера (Microsoft и всех прочих).
The God is real, unless declared integer.
Re: Новая каноническая запись Guid
От: LuciferSingapore Россия  
Дата: 26.12.11 07:42
Оценка: +4 :))) :)
Здравствуйте, Osaka, Вы писали:

O>Предлагаю начать внедрять новый формат


Re[2]: Новая каноническая запись Guid
От: gegMOPO4  
Дата: 26.12.11 15:33
Оценка:
26.12.11 09:12, netch80 написав(ла):
> Base64 тут не подойдёт из-за допустимости в нём символов типа '/' и '+'. Подбирать аналоги неудобно.

RFC3548 предлагает альтернативу с '-' и '_' вместо '+' и '/'. Там же описаны Base32 и Base16.

А ещё можно вспомнить UUENCODE и RADIX50.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Новая каноническая запись Guid
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 15:47
Оценка:
Здравствуйте, gegMOPO4, Вы писали:

MOP>26.12.11 09:12, netch80 написав(ла):

>> Base64 тут не подойдёт из-за допустимости в нём символов типа '/' и '+'. Подбирать аналоги неудобно.

MOP>RFC3548 предлагает альтернативу с '-' и '_' вместо '+' и '/'.


Для описанной задачи не годится.

MOP> Там же описаны Base32 и Base16.

MOP>А ещё можно вспомнить UUENCODE и RADIX50.

Все названные, кроме base32, заведомо менее эффективны и ущербны. UUE кроме того страдает проблемами с кодами символов ещё хуже, чем base64 (которая собственно и родилась как исправленный UUE).
The God is real, unless declared integer.
Re[4]: Новая неканоническая запись Guid
От: gegMOPO4  
Дата: 26.12.11 17:46
Оценка: :)
26.12.11 17:47, netch80 написав(ла):
> Здравствуйте, gegMOPO4, Вы писали:
> MOP> Там же описаны Base32 и Base16.
> MOP>А ещё можно вспомнить UUENCODE и RADIX50.
> Все названные, кроме base32, заведомо менее эффективны и ущербны.

Чем же это Base16 заведомо менее эффективен и ущербен? RADIX50, конечно, придётся немного доработать. Зато дань традициям.

В наше время вообще пора переходить к Base2048, Base8192 или что-то такое. Уж несколько тысяч хорошо различимых цифро-буквенных символов в Уникоде найдётся.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Новая каноническая запись Guid
От: Кодёнок  
Дата: 10.01.12 12:00
Оценка:
Здравствуйте, netch80, Вы писали:

MOP>> Там же описаны Base32 и Base16.

MOP>>А ещё можно вспомнить UUENCODE и RADIX50.
N>Все названные, кроме base32, заведомо менее эффективны и ущербны.

Base16 это обычный HEX, если что. Та же самая каноническая запись, только без дефисов и {}
Re[5]: Новая неканоническая запись Guid
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.01.12 13:11
Оценка:
Здравствуйте, gegMOPO4, Вы писали:

MOP>26.12.11 17:47, netch80 написав(ла):

>> Здравствуйте, gegMOPO4, Вы писали:
>> MOP> Там же описаны Base32 и Base16.
>> MOP>А ещё можно вспомнить UUENCODE и RADIX50.
>> Все названные, кроме base32, заведомо менее эффективны и ущербны.

MOP>Чем же это Base16 заведомо менее эффективен и ущербен?


$ bc -lq
l(62)/l(16)
1.48854907759671880220

Удлинение в полтора раза на ровном месте — плохо, мягко говоря.

MOP> RADIX50, конечно, придётся немного доработать. Зато дань традициям.


В таком виде — нет. Если же его дорабатывать, он превратится в условное Base40. И чем это лучше Base62?
Для текста в пару килобайт, конечно, был бы смысл, но не для 16-байтной строки.

MOP>В наше время вообще пора переходить к Base2048, Base8192 или что-то такое. Уж несколько тысяч хорошо различимых цифро-буквенных символов в Уникоде найдётся.


Начинаем зависеть от качества чтения юзерами китайских иероглифов, деванагари и индейских узловых письменностей.
The God is real, unless declared integer.
Re[5]: Новая каноническая запись Guid
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.01.12 13:11
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, netch80, Вы писали:


MOP>>> Там же описаны Base32 и Base16.

MOP>>>А ещё можно вспомнить UUENCODE и RADIX50.
N>>Все названные, кроме base32, заведомо менее эффективны и ущербны.

Кё>Base16 это обычный HEX, если что.


Спасибо, кэп.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.