You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:50:31