8 ms·
This is using Punycode encoding, see https://en.m.wikipedia.org/wiki/Emoji_domain https://en.m.wikipedia.org/wiki/Emoji_domain.
by shawkinaw 7y ago
This is using Punycode encoding, see https://en.m.wikipedia.org/wiki/Emoji_domain https://en.m.wikipedia.org/wiki/Emoji_domain.
- jackewiehose 7y agoWhy is this even a thing?
- tsavola 7y agoDo you mean Punycode, or this joke?
- DarkWiiPlayer 7y agoPunycode is the joke
- wongarsu 7y agoLimiting dns names to 26 latin characters and the 10 arabic digits is the joke. From the top of my head I can't come up with a single language other than English that doesn't use additional letters (or at least additional modifiers on some letters). Punycode is the most sane solution to an insane situation.
- PeterisP 7y agoWell, latin works, but it's not that popular outside of Vatican nowadays :)
- samatman 7y agoSwahili, Hawaiian, Italian, that's just off the top of my head, there are many others. Hawaiian uses ' as a proper letter, granted.
- Liquid_Fire 7y agoDoesn't Italian use accented vowels in some cases?
- samatman 7y agoAh, yes of course it does. Silly me. None of this detracts from the greater point, being that we need a way for all writing systems to somehow squeeze down into the subset of ASCII supported by legacy protocols.
- DarkWiiPlayer 7y agoEven english has some borrowed expressions like "à la" that can are more correctly written with non-ascii characters, so not even english is really safe, if you want to be a bit fancy about it.
- DarkWiiPlayer 7y agoDNS should have been UTF-8 from the beginning; that would have been a good solution. As things stand, slapping punycode on it is a terrible solution to a dumb problem. But then again, when you invent something, you decide how it works, and the world could just re-invent a more international version of DNS but chose not to. Also, ASCII is still probably the best charset to use, if you have to choose one; it can represent most possible sounds in some way and symbols represent single sounds (as opposed to, for example, chinese characters). It's very widely used (as opposed to, for example, the greek alphabet). So yes, limiting DNS names to 26 latin characters and 10 arabic digits was probably the best option at the time.
- carapace 7y agoDNS is the joke, punycode is one of the punchlines. ;-)
- retrac 7y agoPunycode? It's to allow non-ASCII characters in domain names without breaking compatibility with all the standards and software that specify that domain names only use ASCII characters.
- asveikau 7y agoIn a lot of languages it is good to be able to render something other than us-ascii. In many places the Latin alphabet without diacritics will be well understood and no problem, but that isn't true everywhere.
- tialaramex 7y agoThere are a bunch of different human writing systems. All of them are weird because they were invented by humans, most of them are very weird indeed because they were invented by humans a long time ago and then gradually mutated. The Latin system is the one you're using here. It's very popular. Most humans in the integrated tribes are somewhat familiar with it‡. It has twenty six "letters" and then twenty six more "capital letters" which look different but mean almost the same thing for some reason, and then a bunch more symbols that aren't quite letters although some (apostrophe, ampersand) have a better claim than others. But other popular systems include Han, which has a shitload of logograms, and Cyrillic and Greek which have different letters than Latin and different rules about how letters work. Anyway, the people who invented DNS only or primarily used the Latin system and they weren't much into capital letters. So, their system doesn't treat capital letters as different and only has one set of twenty six Latin letters, ten digits, a dash and an underscore for some reason. But, lots of people who do NOT have Latin as the primary or only writing system found this annoying to work with. They wanted to use their writing system with DNS especially once the Web came along and popularized the Internet. Punycode is a way to use some reserved nonsense-looking Latin text in any DNS label to mean that actually this DNS name should be displayed as some Unicode text. Unicode encodes all popular human writing systems (and lots of unpopular ones) fairly well, so this sorts the problem out. Specifically Punycode reserves Latin names that start xn-- for this purpose. By only caring about display this avoids changing anything in the technical underpinnings. Only user-facing code needed to change, every other layer is unaltered. The rules about IDNs say that a registry (such as .com) should have rules to ensure the names in that registry are unambigous and meaningful. But in practice the purpose of the .com registry in particular is to make as much money as possible regardless of the consequences. So you can register any name you please and they won't stop you even if it's deliberately confusing. ‡ None of the extant unintegrated tribes have writing. This probably doesn't mean anything important.
- fennecfoxen 7y agoIt turns out sometimes people might just want to register mañana.com or 魔法少女まどかマギカ.jp or whatever.
- iso1210 7y agoImagine if DNS consisted only of Arabic characters. Imagine how grumpy you'd be that you couldn't go to newyork.gov.us for your local government website, and instead had to go to نيويورك instead? Assuming you can't read Arabic, how on earth would you even recognise that address, let alone remember how to type it.
- jackewiehose 7y agoWell, I'd probably had to learn something like this: https://en.wikipedia.org/wiki/Arabic_chat_alphabet https://en.wikipedia.org/wiki/Arabic_chat_alphabet I always assumed the non-latin-alphabet people know their way around this because they already used the internet before unicode-domains.
- wongarsu 7y agoIn Japan there's a trend to use phone numbers as domain names, probably for this very reason.
- jackewiehose 7y agoInteresting. I agree that latin isn't sufficient but they could have just extended the list of allowed characters by a few other defined alphabets. No need to include every(?) unicode-point just because it's the technical more elegant solution.
- wongarsu 7y agoAllowing only a few alphabets doesn't solve much (Cyrillic "а" still looks like latin "a" in most fonts) but opens new cans of worms: how do you update this list, why isn't alphabet x of important minority y included, etc. Much easier to just allow everything in the technical standards and let domain registries set reasonable standards that make sense for that tld. Sometimes that works well (.de for example has a list of 93 allowed unicode characters [1] which covers everything a German might plausibly use from German or neighboring country's alphabets), but some registries just don't seem to care much (e.g. .com). 1: https://www.denic.de/en/know-how/idn-domains/idn-character-list/ https://www.denic.de/en/know-how/idn-domains/idn-character-l...
- alangpierce 7y agoUnicode and Punycode were originally designed for letting computers handle the wide variety of human writing systems, common ones like Chinese and Arabic, as well as rarer ones. Much more recently, the emoji characters were added to that same Unicode system, so any encoding system these days that's international-friendly also ends up supporting emoji as well. So Punycode wasn't specifically designed to work with emoji, it just happens to work with emoji because emoji are part of Unicode.