C#实现将汉字转化为2位大写的16进制Unicode的方法

本文实例讲述了C#实现将汉字转化为2位大写的16进制Unicode的方法。分享给大家供大家参考。具体实现方法如下:

说明:

str.ToString("x") : 转为1位16进制小写

str.ToString("X") : 转为1位16进制大写

str.ToString("X2"):转为2位16进制大写

具体代码如下:


代码如下:

publicstaticstring StringToUnicode16(string text, string prefixalChar, string splitChar)
{
var sb =new StringBuilder();
if (string.IsNullOrEmpty(text))
{
returnstring.Empty;
}

foreach (var t in text)
{
var by = Encoding.Unicode.GetBytes(Convert.ToString(t));

if (by.Length !=2)
{
sb.Append(Convert.ToString(t));
continue;
}

//只处理中文
if (by[1] ==0)
{
sb.Append(Convert.ToString(t));
continue;
}

sb.Append(prefixalChar);
sb.Append(by[1].ToString("X2"));
sb.Append(by[0].ToString("X2"));
sb.Append(splitChar);
}

return sb.ToString();
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#将Unicode编码转换为汉字字符串的简单方法

    C# 将js中的UNICODE转换为字符串,网上找的都不行,遇到有数字的转不出来,稍稍改了点,OK了! 实例如下: /// 将Unicode编码转换为汉字字符串 /// /// Unicode编码字符串 /// 汉字字符串 public static string ToGB2312(string str) { MatchCollection mc = Regex.Matches(str, "([\\w]+)|(\\\\u([\\w]{4}))"); if (mc != null &am

  • c#通过unicode编码判断字符是否为中文示例分享

    复制代码 代码如下: protected bool IsChineseLetter(string input,int index){int code = 0;int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00-0x9fff)转换成int(chfrom-chend)int chend = Convert.ToInt32("9fff", 16);if (input != ""){code = C

  • c#字符串编码编码(encoding)使用方法示例

    Unicode有四种编码格式,UTF-8, UTF-16,UTF-32,UTF-7. 字符编码类,ASCIIEncoding ,UTF7Encoding,UnicodeEncoding,UTF32Encoding. 复制代码 代码如下: using System.Collections.Generic;using System.Text; namespace AsciiEncodingDemo{    class Program    {        static void Main(stri

  • C#实现将汉字转化为2位大写的16进制Unicode的方法

    本文实例讲述了C#实现将汉字转化为2位大写的16进制Unicode的方法.分享给大家供大家参考.具体实现方法如下: 说明: str.ToString("x") : 转为1位16进制小写 str.ToString("X") : 转为1位16进制大写 str.ToString("X2"):转为2位16进制大写 具体代码如下: 复制代码 代码如下: publicstaticstring StringToUnicode16(string text, st

  • java实现汉字转unicode与汉字转16进制实例

    本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode 复制代码 代码如下: public static String toUnicode(String s) {         String as[] = new String[s.length()];         String s1 = "";         for (int i = 0; i < s.length(); i++)   

  • Python实现将16进制字符串转化为ascii字符的方法分析

    本文实例讲述了Python实现将16进制字符串转化为ascii字符的方法.分享给大家供大家参考,具体如下: 字符串456e633064316e675f31735f66336e,通过Python,按照两个字符,例如45,6e,63形式变成ascii码格式,输出acsii码格式的字符串. 代码如下: a = "456e633064316e675f31735f66336e" ''.join([chr(int(b, 16)) for b in [a[i:i+2] for i in range(

  • Java必备知识之位运算及常见进制解读

    目录 常见几种进制? Java八种按位运算? HashMap添加元素四步曲用到的位运算? 前奏:HashMap如何添加一个元素? 第一步曲 第二步曲 第三步曲 第四步曲 终曲:为什么HashMap底层源码用这么多位运算? 您好,我是贾斯汀,欢迎又进来学习啦! [学习背景] 学习Java的小伙伴,都知道想要提升个人技术水平,阅读JDK源码少不了,但是说实话还是有些难度的,底层源码实现的原理离不开各种常用的数据结构和算法,很多时候还会用到各种位运算,比如面试必问和工作写烂透了的HashMap,就一个

  • 2~62位任意进制转换方法(c++)

    进制转换的符号表为[0-9a-zA-Z],共61个字符,最大可表示62进制. 思路是原进制先转换为10进制,再转换到目标进制. 疑问: 对于负数,有小伙伴说可以直接将符号丢弃,按照整数进行进位转换,最后再将负号补回来,我认为这种做法是不对的. 正确的做法是:考虑好按照16位(short)还是32位(int)抑或64位(long long),先求出二进制补码(这时候就正负数就统一了),将二进制数转换为十进制后在转换为其他进制(如果有小伙伴知道如何直接将二进制转换为任意进制的方法可以留言告诉我,不胜

  • Linux 分区初始化为物理卷,把物理卷加入卷组的方法

    用到的命令有 1.pvcreate (physical volume create) 2.vgcreate (volume group create) 例子1:创建物理卷 pvcreate /dev/sdb1 -- /dev/sdb1 是一个分区! 如果在初始化的时候出错了,可能是因为分区的分区类型不正确,区的类型要求是8e(linux lvm) -------------------------------------------------------- 例子2:创建卷组 vgcreate

  • Java 通过位运算求一个集合的所有子集方法

    Java没有自带的求一个集合的所有子集的方法,我们可以通过集合的子集规律来求. 一个集合的所有子集等于2^该集合的长度.比如{c,b,a}的长度为3,这个集合的子集就有8个. 这句话看起来很简单,但同时也隐含着高深的哲理.其实一个集合的所有集合,和2^该集合的长度这个数字有关.比如上面的例子,{c,b,a}的长度为3,则可以用0-7表示其所有子集.如下所示,改数字所对应的位置为1,则说明我需要这个数字形成子集.从0-7的二进制表示,刚好代表完,一个长度为3,子集个数为8的所有子集. 0(000)

  • 将正小数转化为2-9进制小数的实现方法

    将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出.例如:若十进制小数为0.795,则输出: 十进制正小数 0.795000 转换成 2 进制数为: 0.11001011 十进制正小数 0.795000 转换成 3 进制数为: 0.21011011 十进制正小数 0.795000 转换成 4 进制数为: 0.30232011 十进制正小数 0.795000 转换成 5 进制数为: 0.34414141 十进制正小数 0.795000 转换成 6 进制数

  • 正则表达式实现字符串每4位后自动加空格效果(两种方法)

    需求:输入框中输入银行卡号(或其他)时,每4位自动加空格(如下图) 分析 方法一:监控输入框的keyup事件,当value值的长度为4,8,12,16时,插入空格字符串" "(vue中代码片段如下) <input type="text" v-model="bankCard" @keyup="bankCardKeyup"> bankCardKeyup (e) { let self = this // 如果是删除键,则

  • 关于C++读入数字按位取出与进制转换问题(典型问题)

    这一片博客我就不写具体的一个题了,只是总结一种典型问题--读入数字按位取出. 就拿数字12345举例吧. 是首先,我们要取出个位.这样取出: 12345/1=12345 12345%10=5. //为了好发现规律 这样我们就有了它的个位.十位是这样: 12345/10=1234 1234%10=4. 同理,百位: 12345/100=123 123%10=3. 于是可以发现,取出哪一位,就是要先将原数除以这一位的位名,再模10. 程序: #include<iostream> #include&

随机推荐