Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用base-N输入读取文本文件,并将其转换为十六进制(最终转换为ascii)?_Python - Fatal编程技术网

Python 如何使用base-N输入读取文本文件,并将其转换为十六进制(最终转换为ascii)?

Python 如何使用base-N输入读取文本文件,并将其转换为十六进制(最终转换为ascii)?,python,Python,我对Python非常陌生,我正在寻找帮助来创建一个执行以下算法的程序。它非常简单,应该注意的是数据是在一个流中,所以我不能(或者至少,我认为我不能)仅仅打开文本文件并使用单个函数转换它。我正在努力学习语言和选项,但想看看一些专家如何解决这个问题。不需要对用户友好,我希望在每个步骤输出文件,这样我就可以看到每个步骤的输出 以下是我推荐的算法: 打开文件“base-n.txt” 对于文件中的每一行 删除回车 将行写入“Clean File”*#以创建单个字符流#* 打开文件“清理文件” 对于文件中的

我对Python非常陌生,我正在寻找帮助来创建一个执行以下算法的程序。它非常简单,应该注意的是数据是在一个流中,所以我不能(或者至少,我认为我不能)仅仅打开文本文件并使用单个函数转换它。我正在努力学习语言和选项,但想看看一些专家如何解决这个问题。不需要对用户友好,我希望在每个步骤输出文件,这样我就可以看到每个步骤的输出

以下是我推荐的算法:

打开文件“base-n.txt”
对于文件中的每一行
删除回车
将行写入“Clean File”*#以创建单个字符流#*
打开文件“清理文件”
对于文件中的每一行
读取前x个字符*#我认为x取决于n基中的n#*
将字符从基数n转换为基数16
将字符写入“输出文件”
打开文件输出文件
对于文件中的每一行
将行转换为ASCII
打印ASCII行
终点
文件不是很大。。。通常只有几百行的base n信息。例如,下面是base-5文本的示例

032204010413034404210414040101120431042101120343034204300401012020301130020
0301042104240401041401120410042204300432041401120400042104130421042401120430
0410043101120342041404010431013401120344042104200430040103440431040104310432
0424011203420400041004220410043003440410042004030112040104130410043101410112
0233043204100430011203440421042004030432040101120413041003430401042404210020
0430040104140134011204200421042001120344042104200433034204130413041004300112
0411043204300431042101120413034203440410042004100342011203420141011203130432
0430042204010420040004100430043004010112042304320410043001120413034203440432
0430011204200421042001120413041004030432041303420112040003420422041003430432
0430002004210424042003420424040101410112031004240421041004200112040003420422

提前谢谢你的帮助。我期待着在Python方面取得更大的进步,但在短期内确实需要这种算法。

我留下了一条评论,建议使用
hex()
函数。以下是十进制到十六进制的示例:

while True:
    print("Enter 'x' for exit.")
    dec = input("Enter number in Decimal Format: ")
    if dec == 'x':
        break
    else:
        decimal = int(dec)
        print(decimal,"in Hexadecimal =",hex(decimal),"\n")

此站点不是编码服务。您需要进行研究,编写一些代码,并在遇到使用可用资源无法解决的特定问题时询问。使用
hex()
函数?转换为ASCII是什么意思?你能举个例子吗?道歉-第一次使用论坛,超越自己。我会发布我的最新版本以获得反馈,但我遇到了麻烦。你能举一个完整转换的例子吗?例如,base-5数字
4444444
是base-16(十六进制)中的
0C34
,这是ASCII中的两个字符,其表示形式为
'\f4'
\f
表示格式提要字符,
4
表示本身)。谢谢。问题是输入流不是十进制格式。。。它是5进制、6进制、9进制等等。我意识到核心问题不是Python,而是确定识别每个进制中要读取的位数的算法,以便将其转换为标准的16位二进制值。