如何在不使用toUppercase的情况下将字母从小写更改为大写?

时间:2013-03-07 13:31:14

标签: javascript

我想知道如何不使用函数。我尝试过使用String.fromCharCode,但我想我做得不对。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

如果您想支持英文字母az以外的任何内容,则将字符从小写字母转换为大写字母并非易事。 Unicode数据库中涉及映射。

所以toUpperCase是这项工作的正确工具。根据{{​​3}},它使用Unicode数据库来选择适当的大写字符。 (该链接指向toLowerCase,因为toUpperCase只是说它与toLowerCase做同样的事情,但是对于大写。)

但是,如果您只支持英文字母az,则这些字母代码由字符代码97到122表示。 AZ由字符代码65到90表示,包括端点。所以:

var upperChar = String.fromCharCode(lowerChar.charCodeAt(0) - 32);

会这样做。但我强烈建议这样做。

答案 1 :(得分:1)

查看ascii表ASCII。 A = 65 ... a = 97

不要忘记这不是正确的方法,但是如果你需要进行这种级别的编程,这就是方法。这仅适用于ascii(英文字母)。

会有很多弊端,但这是你问题的答案:)。

答案 2 :(得分:1)

'A'的ASCII值为65而'a'为97.它们之间的差值为97 - 65 = 32 因此,如果我们将在'A'的ASCII值中添加32,那么它将是'a',如果我们在'a'的ASCII值中减去32,它将是'A'。所有字母表都是如此。 一般来说:

大写字符=小写字符 - 32

小写字符=大写字符+ 32

相关问题