我想知道这是如何不使用函数的。我试过使用String.fromCharCode
,但我想我做得不对。有任何想法吗?
问问题
1025 次
3 回答
5
如果您想a
通过z
. Unicode 数据库中涉及到映射。
toUpperCase
适合这项工作的工具也是如此。根据规范,它使用 Unicode 数据库来选择合适的大写字符。(该链接是 totoLowerCase
因为toUpperCase
只是说它与 做相同的事情toLowerCase
,但为大写。)
但是,如果您只支持a
通过的英文字母z
,则它们由字符代码 97 到 122 表示,包括 97 到 122。A
throughZ
由字符代码 65 到 90 表示,包括 65 到 90。所以:
var upperChar = String.fromCharCode(lowerChar.charCodeAt(0) - 32);
会做的。但我强烈建议不要这样做。
于 2013-03-07T13:34:28.113 回答
1
看看 ascii 表ASCII。A = 65 ... a = 97
并且不要忘记这不是正确的方法,但如果你需要达到这个级别的编程,这就是方法。这仅适用于 ascii(英文字母)。
会有很多缺点,但这是您问题的答案:)。
于 2013-03-07T13:34:47.313 回答
1
'A' 的 ASCII 值是 65,而 'a' 是 97。它们之间的差是 97 – 65 = 32 所以如果我们在 'A' 的 ASCII 值中加上 32,那么它将是 'a',如果我们减去'a' 的 ASCII 值中的 32 将是 'A'。所有字母都是如此。一般规则:
大写字符 = 小写字符 – 32
小写字符 = 大写字符 + 32
于 2013-03-07T13:40:22.407 回答