如何将指定Python字符映射加密代码转换为Dart实现
将Python字符加密代码改写为Dart
原Python代码的核心是通过字符映射表对输入文本进行替换加密,以下是对应的Dart实现:
Dart实现代码
import 'dart:io'; void main() { // 定义字符映射表,对应Python的str.maketrans字典 final Map<String, String> encryptMap = { 'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5', 'f': '6', 'g': '7', 'h': '8', 'i': '9', 'j': 'A', 'k': 'B', 'l': 'C', 'm': 'D', 'n': 'E', 'o': 'F', 'p': 'F', 'q': 'H', 'r': 'I', 's': 'J', 't': 'K', 'u': 'L', 'v': 'M', 'w': 'N', 'x': 'O', 'y': 'P', 'z': 'Q', ' ': 'X' }; stdout.write('Enter Text: '); String? text = stdin.readLineSync(); if (text == null) return; // 处理输入为空的情况 String textLower = text.toLowerCase(); String encText = textLower.split('').map((char) { // 查找映射表,存在则替换,否则保留原字符 return encryptMap[char] ?? char; }).join(); print(encText); }
关键对应说明
- Python的
str.maketrans创建的映射表,在Dart中用Map<String, String>直接定义即可。 - Python的
input()对应Dart的stdin.readLineSync(),配合stdout.write()实现输入提示。 - Python的
str.translate()方法,Dart中通过拆分字符串为字符列表、逐个映射替换再拼接的方式实现,map函数配合空值运算符??处理不在映射表中的字符(和原Python逻辑一致,保留原字符)。
内容的提问来源于stack exchange,提问作者red X
相关产品推荐
相关产品推荐

