帮我写个字符串转ASCII的脚本
时间: 2023-09-09 22:13:03 浏览: 77
以下是Python的代码示例:
```python
input_str = input("请输入要转换为ASCII码的字符串:")
for char in input_str:
ascii_code = ord(char)
print(char + "的ASCII码为:" + str(ascii_code))
```
解释:
1. 首先,我们通过`input()`函数获取用户输入的字符串。
2. 然后,我们使用`for`循环遍历字符串中的每个字符。
3. 在循环中,我们使用`ord()`函数将字符转换为ASCII码,并将其存储在`ascii_code`变量中。
4. 最后,我们使用`print()`函数输出每个字符及其对应的ASCII码。
示例输出:
```
请输入要转换为ASCII码的字符串:Hello World!
H的ASCII码为:72
e的ASCII码为:101
l的ASCII码为:108
l的ASCII码为:108
o的ASCII码为:111
的ASCII码为:32
W的ASCII码为:87
o的ASCII码为:111
r的ASCII码为:114
l的ASCII码为:108
d的ASCII码为:100
!的ASCII码为:33
```
相关问题
Linux上shell脚本,字符串转ASCII码
在Linux上,可以使用 `printf` 命令将字符串转换为 ASCII 码。例如,假设要将字符串 `"hello"` 转换为 ASCII 码,可以使用以下命令:
```
printf "%s" "hello" | od -An -vtu1
```
其中,`printf "%s" "hello"` 将字符串 `"hello"` 输出到标准输出,`od -An -vtu1` 将标准输入中的数据转换为 ASCII 码。输出结果为:
```
104 101 108 108 111 10
```
其中,每个数字代表字符串中一个字符的 ASCII 码。例如,`104` 表示字母 `h` 的 ASCII 码。如果要将 ASCII 码转换回字符串,可以使用 `printf` 命令的 `%c` 格式化选项。例如,以下命令将上面的 ASCII 码转换回字符串:
```
printf "%c" 104 101 108 108 111 10
```
输出结果为:
```
hello
```
注意,最后的 `10` 是换行符的 ASCII 码。如果不需要换行符,可以省略 `echo` 命令的 `-e` 选项。
写一个字符串转十六进制ASCII码的Python脚本,不能转换的字符打出?就行。
可以使用Python内置的`ord()`函数将字符转换为对应的ASCII码,然后使用`hex()`函数将十进制数转换为十六进制字符串。如果字符无法转换为ASCII码,则打印出问号。
下面是一个示例代码:
```python
def str_to_hex_ascii(s):
hex_ascii = ''
for c in s:
try:
# 尝试将字符转换为十六进制ASCII码
hex_ascii += hex(ord(c))[2:].zfill(2)
except TypeError:
# 如果字符无法转换为ASCII码,则打印出问号
hex_ascii += '?'
return hex_ascii
# 示例用法
s = 'Hello, 你好!'
print(str_to_hex_ascii(s)) # 输出:48656c6c6f2c20e4bda0e5a5bdefbc81
```
在上述代码中,`hex()`函数返回的十六进制字符串中包含前缀`'0x'`,因此需要使用切片`[2:]`去掉前缀。同时,使用`zfill()`函数将不足两位的十六进制数左侧补零。
阅读全文