c# - 如何在C#中将char字符串转换为字符
问题描述
我正在尝试从输入中读取字符并将其转换为字符的 int 值。输入字符串的格式为'[character value]'
。
我可以
((int)input.ToCharArray()[1])
但是这不考虑转义序列(例如 \0 表示十六进制 0x00)
考虑到转义序列,有没有办法将字符串转换为字符?(而且,有没有办法将格式中的字符串转换为字符串,"[string value]"
同时考虑转义序列?)
解决方案
假设只有一个实际字符可能是文字转义序列,它被单引号和方括号包围。然后我猜你可以使用偷偷摸摸的正则表达式转义。
var input = "'[\0]'";
var trimmed = input.Substring(2,input.Length-4);
var escaped = Regex.Escape(trimmed);
var theByte = (byte) escaped[0];
Console.WriteLine(theByte);
注意:这里有很多假设,可能有更好的方法来做到这一点,这可能有我不知道的问题。
推荐阅读
- reactjs - React Native Fetch data from API - 但不是在平面列表中呈现,只是一次
- python - 将多个功能分配给一个按钮
- ruby-on-rails - Heroku 部署错误:没有要插入的中间件:ActiveRecord::Migration::CheckPending (RuntimeError)
- php - JQUERY 不在(onchange)函数上工作
- javascript - 如何在每次页面加载时使用 barba js 触发全局方法
- spark-java - 没有收到任何帖子请求
- powershell - Powershell 理解 Copy-Item 和 foreach 多台服务器
- java - 如何裁剪点击的图像并使用角点将其保存在 android Java 中?
- rust - 爬入结构类型的迭代器的通用生命周期参数
- node.js - 如何从 mongodb 查询和获取数组中的一项?