写一个处理曼彻斯特码的代码
时间: 2024-05-01 22:22:44 浏览: 7
以下是一个简单的 Python 代码,用于处理曼彻斯特编码:
```python
def manchester_encoding(bits):
# 初始化编码结果字符串
encoded = ""
# 循环遍历每个比特位
for i in range(len(bits)):
# 如果当前比特位为 0,则添加高电平低电平编码
if bits[i] == "0":
encoded += "01"
# 如果当前比特位为 1,则添加低电平高电平编码
else:
encoded += "10"
return encoded
def manchester_decoding(encoded):
# 初始化解码结果字符串
decoded = ""
# 循环遍历每两个比特位
for i in range(0, len(encoded), 2):
# 如果当前两个比特位为高电平低电平编码,则添加 0
if encoded[i:i+2] == "01":
decoded += "0"
# 如果当前两个比特位为低电平高电平编码,则添加 1
elif encoded[i:i+2] == "10":
decoded += "1"
return decoded
```
`manchester_encoding` 函数接受一个由 0 和 1 组成的比特串作为输入,返回曼彻斯特编码后的结果字符串。`manchester_decoding` 函数接受一个曼彻斯特编码后的字符串作为输入,返回原始比特串。
使用示例:
```python
bits = "10100011"
encoded = manchester_encoding(bits)
print("Encoded:", encoded)
decoded = manchester_decoding(encoded)
print("Decoded:", decoded)
```
输出:
```
Encoded: 100110011011
Decoded: 10100011
```