Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Interestingly, if you ever come to Japan you will find many people expect path separators to be yen symbols (¥). Their windows paths look like:

¥docs¥finance¥

To understand the reason, just check out the table on the Shift-JIS encoding:

http://en.wikipedia.org/wiki/Shift_JIS

Specifically, look at the character at 0x5C where the backslash sits in ASCII. Learning this was one of those mind-blowing moments when you try to imagine what a world where that was normal would be like.



Interesting! I wonder why they changed that particular character and not one that is literally everywhere in DOS.

Using ¥ as backslash still works in Windows and legacy apps (in OSX option+¥ gives a "real" \.)

This leads to some interesting situations: Word documents filled with ¥ where there should be \ and vice versa. By interesting I mean extremely annoying.

Another caveat is that anything hardcoded to use the tilde ~ will probably break because it is mapped to a completely key on Japanese keyboards. This causes endless fun in DOSBOX or even newer games: to get the console in Doom 3 I had to edit the source and recompile it with the console key mapped to another character.


Several positions in the table ({ | } [ \ ] @) were meant for "national variants". I guess those characters were deemed unimportant at the time.

Here is some more info: http://www.cs.tut.fi/~jkorpela/chars.html#national-ascii


Thus, the characters that appear in those positions - including those in US-ASCII - are somewhat "unsafe" in international data transfer

...

Systems that support ISO Latin 1 in principle may still reflect the use of national variants of ASCII in some details; for example, an ASCII character might get printed or displayed according to some national variant. Thus, even "plain ASCII text" is thereby not always portable from one system or application to another.

That's awesome! Hard to believe that systems have worked as well as they have. It's pretty obvious nobody was expecting that one day all computers would have to read each other's data pretty much constantly.

So I guess the question is: why did the DOS developers pick the character that happens to vary from region to region? I guess they didn't know?


As a wild guess, I would say that in the days before the internet made "international data transfer" something a regular person would encounter frequently, the thought just never occurred to them.


I wonder why they changed that particular character and not one that is literally everywhere in DOS.

I've wondered about that as well. My guess is that they looked at it and thought 'who needs two kinds of slash anyway?' I would love to know the actual thought behind that choice.


Obligatory link for this fact to the One True Source for oddities like these:

https://blogs.msdn.com/b/michkap/archive/2005/09/17/469941.a...


The Korean won symbol ₩ also occupies 0x5C. I never got totally used to seeing directory paths separated by ₩.


I have the korean QSENN DT-35 keyboard. The first time I opened up the cmd, I couldn't find the '\' and had to click random keys until I found the ₩ key :-D


Same for Korean with the ₩. And you can change the default system locale to Japanese or Korean and see it on any language version of Windows.


That was one of my awkward debugging moments. We had a path issue for a Japanese clients and I was completely unaware of this specificity. The path issue was somewhere else but understanding that having ¥ instead of \ was a feature and not a bug took me a while.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: