千家信息网

DotNet的字符转义操作是怎样的

发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,本篇文章给大家分享的是有关DotNet的字符转义操作是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在项目中使用到字符的转义,现在
千家信息网最后更新 2025年11月18日DotNet的字符转义操作是怎样的

本篇文章给大家分享的是有关DotNet的字符转义操作是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在项目中使用到字符的转义,现在提供一种字符转义和反转义的操作方法:

1.转义符操作:

        ///         /// 转义符操作        ///         ///         ///         ///         public static string EscapeChar(string s, char charToEliminate)        {            char escapeChar;            char substituteChar;            GetEscapeAndEncodingChars(charToEliminate, out escapeChar, out substituteChar);            int i;            for (i = 0; i < s.Length; i++)            {                if (s[i] == charToEliminate || s[i] == escapeChar)                {                    break;                }            }            if (i == s.Length)            {                return s;            }            var sb = new StringBuilder(s.Substring(0, i), s.Length + 16);            for (; i < s.Length; i++)            {                var c = s[i];                if (c == charToEliminate)                {                    sb.Append(escapeChar);                    sb.Append(substituteChar);                }                else if (c == escapeChar)                {                    sb.Append(escapeChar, 2);                }                else                {                    sb.Append(c);                }            }            return sb.ToString();        }

2.反转义符操作:

        ///         /// 反转义符操作        ///         ///         ///         ///         public static string UnescapeChar(string s, char eliminatedChar)        {            ArgumentValidator.ThrowIfNull(s, "s");            char escapeChar;            char substituteChar;            GetEscapeAndEncodingChars(eliminatedChar, out escapeChar, out substituteChar);            if (-1 == s.IndexOf(escapeChar))            {                return s;            }            var sb = new StringBuilder(s.Length);            for (var i = 0; i < s.Length; i++)            {                var c = s[i];                var next = i + 1;                if (c != escapeChar || next == s.Length)                {                    sb.Append(c);                    continue;                }                if (s[next] == escapeChar)                {                    sb.Append(escapeChar);                    i++;                }                else if (s[next] == substituteChar)                {                    sb.Append(eliminatedChar);                    i++;                }                else                {                    var msg = ("Invalid escaped string '{0}'. Position {1} has escape character, but it is not followed by "                        + "another escape character or by the substitute character").Fi(s, i);                    throw new AssertionViolationException(msg);                }            }            return sb.ToString();        }

3.获取转义符和编码字符:

        ///         /// 获取转义符和编码字符        ///         ///         ///         ///         private static void GetEscapeAndEncodingChars(char charToEliminate, out char escapeChar, out char encodingChar)        {            var i = MEscapeChars[0] == charToEliminate ? 1 : 0;            escapeChar = MEscapeChars[i];            i++;            if (MEscapeChars[i] == charToEliminate)            {                i++;            }            encodingChar = MEscapeChars[i];        }

以上就是DotNet的字符转义操作是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

转义 字符 义符 更多 知识 篇文章 编码 实用 就是 工作会 文章 方法 看吧 知识点 行业 详情 资讯 资讯频道 跟着 部分 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 2022年看门狗服务器关了 虚拟现实 软件开发 天津简韵互联网科技有限公司 重庆网络营销网络技术服务哪家好 孩子想学软件开发好学吗 网络工程转网络安全 软件开发团队起名- 网络安全审查到几号结束 网站服务器数据库怎么进 宝安区什么网络技术开发经验丰富 泰拉瑞亚服务器白名单是干嘛的 视频聊天软件开发全网优惠 网络技术对信息系统的影响 paas平台如何创建数据库 软件开发属于工业 网络安全信息化应用题库 网络安全基地招聘 福汇代理服务器 保险数据库管理制度 全国网络安全与执法专业丛书 数据库while语句怎么用 最新tbc服务器人数统计 完成网络架构升提升网络安全 在数据库中安全性是什么 合肥医药软件开发有限公司 无线层级列表的数据库设计 软件开发工程师多大年龄可以做 软件开发生命周期模型的特征 软件开发分为几个步骤 服务器双网卡有什么好处
0