cmd_中文转换为ascii

本文介绍了一种在Windows命令行环境中将中文字符转换为ASCII编码的方法。具体步骤包括:首先创建一个包含中文内容的TXT文件;然后使用native2ascii工具在命令提示符中对该文件进行处理,直接显示中文对应的ASCII码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows 下命令行可将中文转化为 ascii 

1.建一个txt 文档,如 a.txt

2.命令行中进入文档所在目录 键入 native2ascii a.txt ,即可在命令行显示 文件中 中文对应的ascii .

#include <string> #include <cstring> #include <vector> #include <map> #include <functional> // WARNING: NO more headers allowed! using std::pair; using std::string; using std::vector; using std::map; using std::function; namespace final { class arguments { private: // WARNING: You cannot add more member variables. int _argc; char** _argv; public: arguments() : _argc(0), _argv(nullptr) {} explicit arguments(const string& cmd) { if (cmd=="") { _argc=0; _argv=nullptr; } else { _argc=1; char* cmd_data=(char *)cmd.c_str();//need to delete int begin; for (int i=0;i<strlen(cmd_data);i++) if (cmd_data[i]!=' '){ begin=i; break; } for(int i=begin;i<strlen(cmd_data)-1;i++) if (cmd_data[i]==' ' && cmd_data[i+1]!=' ') _argc++; _argv=new char*[_argc]; for (int i=0;i<_argc;i++) _argv[i]=new char[30]; int cnt_argc=0; int begin_argv=begin; for (int i=begin;i<strlen(cmd_data);i++) { if (cmd_data[i]!=' '&& cmd_data[i-1]==' ') begin_argv=i; if (cmd_data[i]!=' '&& cmd_data[i+1]==' ') memcpy(_argv[cnt_argc++], &cmd_data[begin_argv], sizeof(char) * (i - begin_argv + 1 ) ); } memcpy(_argv[cnt_argc++], &cmd_data[begin_argv], sizeof(char) * (strlen(cmd_data) -begin_argv +1) ); } } ~arguments() { for (int i=0;i<_argc;i++) delete[] _argv[i]; delete[] _argv; } // WARNING: You cannot modify the following functions int argc() const { return _argc; } char** argv() const { return _argv; } }; // You don't need to modify shell. class shell { private: map<int, arguments> running_list; public: shell() = default; void run(int pid, const string& cmd, const function<void(int, char**)>& invoked) { running_list.emplace(pid, cmd); invoked(running_list[pid].argc(), running_list[pid].argv()); } int subprocessExit(int pid, int return_value) { running_list.erase(pid); return return_value; } vector<int> getRunningList() const { vector<int> rt; for (auto& pair:running_list)rt.push_back(pair.first); return rt; } }; } 这段代码有什么问题
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值