当前位置: 首页 > 知识库问答 >
问题:

有没有办法转换字符串(字符的字符)到它的ASCII值在Java?[重复]

冀俊良
2023-03-14

我目前正在尝试编写一个加密程序,我正在尝试弄清楚用户如何输入字符串(数字、字母和特殊字符的组合),并让程序将每个字符转换为数字ASCII值。我在互联网上到处搜索,似乎找不到任何方法或代码行可以做到这一点。现在,在任何人说“尝试将其转换为整数”之前,我已经尝试过了,但它不起作用。因此,如果有人能在这件事上帮助我,我将非常感激。

共有2个答案

韦高阳
2023-03-14

可以循环遍历字符串并使用字符串的charAt()方法:

String s = "abcd";

for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    int value = s.charAt(i);
    System.out.println(c + " " + value);
}

将打印:

a 97
b 98
c 99
d 100
伯洋
2023-03-14

要将字符转换为数字,需要选择一种编码。US-ASCII是实现这一点的一种方法,但请注意,US-ASCII仅定义约95个字符;任何不是这95个字符之一的字符都会导致转换为字节的过程引发异常。当您希望能够转换所有字符(从ü到)时,UTF-8通常是首选☃ 到emojis)。注意,在UTF-8中,任何非ASCII字符最终都是一个字符的多个字节,因此一个10个字符的字符串最终可能多达50个字节。

String test = "Hello!";
byte[] asBytes = test.getBytes(StandardCharsets.US_ASCII);
String fancy = "Wééé! ☃";
byte[] fancyBytes = fancy.getBytes(StandardCharsets.UTF_8);
 类似资料:
  • 为什么我的代码失败了?在for循环的第二次旋转时,它会在chat At函数上失败。

  • 问题内容: 我需要将由某些特定于某些语言的字母(例如HÄSTDJUR-注意Ä)组成的s 转换为不带那些特殊字母(在这种情况下为HASTDJUR)的。如何用Java做到这一点?感谢帮助! 它不是真的如何听起来。该场景如下-您要使用该应用程序,但没有瑞典语键盘。因此,您无需查看字符映射表,而是通过将特殊字母替换为拉丁字母中的典型字母来键入它。 问题答案: 我认为您的问题与此问题相同: Java-消除重

  • 问题内容: 您如何将字符串转换为ASCII值? 例如,“ hi”将返回104105。 我可以单独执行ord(’h’)和ord(’i’),但是在有很多字母的情况下会很麻烦。 问题答案: 您可以使用列表理解:

  • 问题内容: 我希望使用番石榴将其连接成一个字符串,但列表中的每个字符串周围都有环绕的字符串。所以我想列出一个字符串列表: 并生成此字符串: 我看到的示例似乎是生成3个以逗号分隔的名称,但我希望每个字符串都包含一些额外的字符串(每次都相同)。 我希望我在这里足够清楚。谢谢你的帮助。 问题答案: 为此,首先要进行转换:

  • 在Java中,我看到了将转换为的四种选择。 我认为第一个是最慢的。第二个很方便。我推测第三个可能会返回一个先前创建的< code>String实例,但我不确定,API文档也没有这么说。这同样适用于选项四。这种实例的重用是非常幸运的,因为基于散列的查找可以利用< code>String中的< code>hashCode()缓存。(哪个特性也没有在API文档中描述,但是很多人告诉我。) 我来自C语言,

  • 问题内容: 我正在编写一个小型JAVA程序,该程序: 将文本作为字符串 需要2个字符数组 我试图做的事情听起来像是“查找并替换”,但是并不相同,因此我认为清除它很重要。 无论如何,我想获取此文本,查找第一个数组中的任何字符是否与文本中的字符匹配,如果是,则将其替换为第二个字符数组中的匹配字符(根据索引)。 我将举一个例子来说明:假设我的文本(字符串)是:“ java很棒!”;我有2个数组(char

  • 问题内容: 我有一个字节数组,其中包含我希望转换为字符串的ASCII字符。例如: myByteArray在循环后应包含字符串“ 12345678”。如何将此字符串转换为String变量? 谢谢! 问题答案: 用 字符串类为此提供了一个构造函数。 旁注:此处的第二个参数是CharSet(字节编码),应谨慎处理。这里更多。

  • 问题内容: 我需要将unicode字符串转换为具有以unicode编码的非ascii字符的字符串。例如,字符串“汉字Max”应显示为“ \ u6F22 \ u5B57 Max”。 我尝试过的 的不同组合 新的String(sourceString.getBytes(encoding1),encoding2) Apache StringEscapeUtils也会转义ascii字符,例如双引号 Str