java实现曼彻斯特编码解码
时间: 2023-11-29 15:04:35 浏览: 46
以下是Java实现曼彻斯特编码解码的示例代码:
```java
public class ManchesterCode {
public static void main(String[] args) {
String message = "Hello World!";
String encodedMessage = encode(message);
System.out.println("Encoded message: " + encodedMessage);
String decodedMessage = decode(encodedMessage);
System.out.println("Decoded message: " + decodedMessage);
}
public static String encode(String message) {
StringBuilder encodedMessage = new StringBuilder();
for (char c : message.toCharArray()) {
String binaryString = Integer.toBinaryString(c);
for (char bit : binaryString.toCharArray()) {
if (bit == '0') {
encodedMessage.append("01");
} else {
encodedMessage.append("10");
}
}
}
return encodedMessage.toString();
}
public static String decode(String encodedMessage) {
StringBuilder decodedMessage = new StringBuilder();
for (int i = 0; i < encodedMessage.length(); i += 2) {
char bit1 = encodedMessage.charAt(i);
char bit2 = encodedMessage.charAt(i + 1);
if (bit1 == '0' && bit2 == '1') {
decodedMessage.append('0');
} else if (bit1 == '1' && bit2 == '0') {
decodedMessage.append('1');
} else {
throw new IllegalArgumentException("Invalid encoded message");
}
}
return new String(new BigInteger(decodedMessage.toString(), 2).toByteArray());
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)