Python进制转换与ASCII转换
大家好,又见面了,我是你们的朋友全栈君。
进制转换方法
1、字符串其他进制转整型十进制
int(s,2)
将字符串s当作二进制转换为10进制整型。如
int('11',2)
的值为3。
int(s,16)
将字符串s当作十六进制转换为10进制整型。如
int('11',16)
的值为17。
2、整型十进制转字符串其他进制
1、
bin(x)
将整型十进制转换为二进制字符串。如
bin(6)
的值为
"110"
2、
oct(x)
将整型十进制转换为八进制字符串。
3、
hex(x)
将整型十进制转换为十六进制字符串。
【例】力扣第67题 二进制求和 :给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。
class Solution:
def addBinary(self, a: str, b: str) -> str:
x ,y= int(a,2),int(b,2)
res = x+y
return bin(res)[2:]
ASCII转换方法
1、字符转ASCII
ord()
函数。如
ord('a')
为97
2、ASCII转字符
chr()
函数。如
chr(65)
为
'A'
【例】力扣第409题 最长回文串 :给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。
class Solution:
def longestPalindrome(self, s: str) -> int:
l = [0]*58
temp = 0
#创建一个记录字符串中字符的数组
for i in s:
l[ord(i)-ord('A')]+=1
#统计数组中出现了奇数次字符的个数即为差值temp
for j in l:
if j%2!=0:
temp+=1