unicode编码、字符的转换和得到汉字的区位码

2023-11-13

一:unicode编码、字符的转换截图

二:unicode编码、字符的转换代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ASCII
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void btn_ToASCII_Click(object sender, EventArgs e)
        {
            if (txt_char.Text != string.Empty)//判断输入是否为空
            {
                if (Encoding.GetEncoding("unicode").//判断输入是否为字母,数字,标点符号,等
                    GetBytes(new char[] { txt_char.Text[0] })[1] == 0)//编码的第1位为0
                {
                    txt_ASCII.Text = Encoding.GetEncoding(//得到字符的ASCII码值
                        "unicode").GetBytes(txt_char.Text)[0].ToString();
                    MessageBox.Show(txt_char.Text[0].ToString());
                }
                else
                {
                    txt_ASCII.Text = string.Empty;//输出空字符串
                    MessageBox.Show("请输入字母!","提示!");//提示用户信息
                }
            }
        }
        private void btn_ToChar_Click(object sender, EventArgs e)
        {
            if (txt_ASCII2.Text != string.Empty)//判断输入是否为空
            {
                int P_int_Num;//定义整型局部变量
                if (int.TryParse(//将输入的字符转换为数字
                    txt_ASCII2.Text, out P_int_Num))
                {
                    txt_Char2.Text =
                        ((char)P_int_Num).ToString();//将ASCII码转换为字符
                }
                else
                {
                    MessageBox.Show(//如果输入不符合要求弹出提示框
                        "请输入正确ASCII码值。", "错误!");
                }
            }
            string P_str_temp = "abc";
            string P_str = Encoding.GetEncoding("unicode").GetBytes(new char[] { P_str_temp[0] })[0].ToString();
        }
    }
}
 三:得到汉字的区位码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ChineseCode
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void btn_Get_Click(object sender, EventArgs e)
        {
            if (txt_Chinese.Text != string.Empty)//判断输入是否为空
            {
                try
                {
                    txt_Num.Text = //得到汉字区位码信息
                        getCode(txt_Chinese.Text);
                }
                catch (IndexOutOfRangeException ex)
                {
                    MessageBox.Show(//使用消息对话框提示异常信息
                        ex.Message + "请输入正确的汉字", "出错!");
                }
            }
        }
        /// <summary>
        /// 得到汉字区位码方法
        /// </summary>
        /// <param name="strChinese">汉字字符</param>
        /// <returns>返回汉字区位码</returns>
        public string getCode(string Chinese)
        {//(' 区位码是与汉字一一对应的编码,用四位数字表示,
            //前两位从01 到94称区码,后两位从01到94称位码。 一个汉字的前一半是 ASCⅡ码为“160+区码”的字符,
            //后一半是ASCⅡ码为“160+ 位码”的字符。'例如:“刘”的区位码是 3385,
            //其意为区码33位码85,它是由ASCⅡ码为160+33=193和160+85=245的两个字符组成。
 
            byte[] P_bt_array = Encoding.Default.GetBytes(Chinese);//得到汉字的Byte数组
            int front = (short)(P_bt_array[0] - '\0');//将字节数组的第一位转换成short类型,这里(short)code[0]也是可以的
            int back = (short)(P_bt_array[1] - '\0');//将字节数组的第二位转换成short类型
            return (front - 160).ToString() + (back - 160).ToString();//计算并返回区位码
        }
    }
}

 

转载于:https://www.cnblogs.com/hongmaju/p/3734171.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unicode编码、字符的转换和得到汉字的区位码 的相关文章

  • Windows环境下,使用GnuWin32工具安装后缀为patch的补丁到C源码软件包

    在CMD命令行 cd到GnuWin32安装目录的bin下 在命令行输入 patch exe d WORK DIR i PATCH FILE p 0 l N WORK DIR 要打补丁的目录 PATCH FILE 补丁文件 p 0 直接使用补
  • 黑马程序员———类加载器

    Java培训 Android培训 iOS培训 Net培训 期待与您交流 Java虚拟机中可以安装多个类加载器 系统默认三个 主要类加载器 每个类负责加载特定位置的类 BootStrap ExtClassLoader AppClassLoad
  • 使用libtorch调用EfficientNet模型(pt文件)

    1 首先确定自己电脑上的pytorch版本 然后下载合适的libtorch版本 使用libtorch调用c 接口 要保证下载的libtorch的版本和pytorch的版本对应 至少使用低版本的pytorch和高版本的libtorch是没法成
  • linux加减乘除的命令,Linux下Shell命令加减乘除计算

    pair的使用 include include include include inc C标准库 lt semi string period h gt semi 实现 本文地址 http www cnblogs com archimedes
  • 使用Tesseract OCR引擎和层次聚集聚类(HAC)对多列数据进行OCR

    这篇博客将介绍如何使用Tesseract OCR引擎和层次聚集聚类 HAC 对多列数据进行OCR 包括学习一些OCR多列数据的提示和技巧 最重要的是 将文本的行 列关联在一起 层次聚集聚类 HAC hierarchical agglomer
  • 超时时间和socket超时时间的区别

    连接超时设置是指在建立连接时 如果连接的对方没有回复 那么等待的时间 如果连接的对方在这段时间内没有回复 则连接超时 Socket 超时是在连接建立之后 在传输数据的过程中如果一直没有数据传输 那么等待的时间 如果在这段时间内没有数据传输
  • Qt连接MySQL数据库(保姆级成功版教程)

    一 VIP通道可以关注我 私信我 直接给两个动态库 直接起飞 1 安装Qt时勾选sources 2 配置path环境变量 此电脑 gt 属性 gt 高级系统设置 gt 环境变量 双击path gt 右上角新建 把这两个路径添加进去 最后确定
  • 网络web渗透工程师-教你怎么喝着茶,把甲方爸爸的活干了。

    一 场景 又是一次接外包项目去甲方做渗透的一天 到了现场 发现甲方爸爸的是一家国企 国企的服务器搭建 普遍比较乱 不出所料 第一天去现场 我还以为是他们给资产 我们渗透就行了 结果发现 我们连那个资产对应那个国企的二级部门都不知道 唯一比较
  • 鲁棒优化入门(二)——基于matlab+yalmip求解鲁棒优化问题

    上一篇博客简单介绍了可以用来求解鲁棒优化的两个工具箱 鲁棒优化入门 一 工具箱Xprog和RSOME的安装与使用 其实大家可能没有想过 matlab yalmip工具箱也可以处理一些简单的鲁棒优化问题 上官方文档 Robust optimi
  • 计算机毕业设计,这6个网站早知道,太牛了

    作为一个计算机专业毕业的学长 好多人都问过我 大四毕业设计有什么推荐的资料吗 在这里 程序员我 我汇总一下 一起发出来 希望给计算机专业毕业的你们提供些帮助 论文 中国知网 中国知网作为是国内毕业生常用的毕业论文检索平台 不仅有学术文献 外
  • [Python从零到壹] 六十.图像识别及经典案例篇之基于阈值及边缘检测的图像分割

    欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给大家 希望对您有所帮助
  • 途牛原创|无线中心运营研发Redis酷实践

    Redis 简介 Redis是一个开源的使用ANSI C语言编写 支持网络 可基于内存亦可持久化的日志型 Key Value数据库 并提供多种语言的API 从2010年3月15日起 Redis的开发工作由VMware主持 从2013年5月开
  • 你不会还没用过这款接口管理工具吧?

    以前在公号发布的文章 现共享出来哈 哈喽 大家好 我是源小北 作为一个合格码农 总得认识那么一两款接口管理工具吧 其实各类工具都有n个兄弟姐妹 大家能实现的功能都差不多 但迭代更新 主流有它成为主流的原因 就好像我以前也用了好几款编译器 可
  • Java 根据Cron表达式获取近几次任务执行时间

    这篇博客将介绍Java 如何根据Cron表达式获取近几次任务执行时间 实际上使用 quartz 包 CronSequenceGenerator 以及TriggerUtils computeFireTimes 俩种方法进行时间获取 1 效果图
  • 【Hadoop】HDFS概述

    文章目录 前言 一 HDFS 的定义 二 HDFS 的优点 三 HDFS 的缺点 四 HDFS 的组成架构 五 HDFS 的文件块大小 前言 随着数据量越来越大 在一个操作系统存不下所有的数据 那么就分配到更多的操作系统管理的磁盘中 但是不
  • 不要二-网易python(找数据逻辑)

    题目描述 二货小易有一个W H的网格盒子 网格的行编号为0 H 1 网格的列编号为0 W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x
  • 如何将项目上传到Gitee上

    一 首先保证本机已经安装了Git git官网安装完成之后 鼠标右键会出现Git GUI Here和Git Bash Here 二 上传代码到码云 核心 总共有7个步骤 1 首先要注册Gitee账号 并且新建一个仓库来存放项目文件 2 在本地
  • 使用Unity2018 自带高通AR组件(Vuforia)—— 创建Virtual Button

    之前翻译了一篇使用unity2017自带高通AR组件 Vuforia 的文章 昨天有位Bro问了一下怎么使用内置组件创建虚拟按钮 Virtual Button 在这里简单的叙述一下 一方面是回答那位Bro 另一方面是作为积累以防后续用到时忘
  • linux dev vda1占用磁盘,centos 磁盘清理 /dev/vda1系统盘满了

    df h 检查一台服务器磁盘使用空间 发现磁盘已经使用了100 思路是 1 cd usr 当然这里不一定是 usr目录 最好是cd到 根目录再执行下一步 2 du sh 看哪个目录占用空间大 3 重复前两步 根据实际情况删除或者移走 4 日
  • VirtualBox 共享文件夹设置

    在ubuntu中执行 mkdir share dir 新建文件夹 然后挂载 sudo mount t vboxsf share share dir 就可以把windows中的E share文件夹挂在为ubuntu中的share dir文件夹

随机推荐

  • MySql基础复习

    数据库的基本操作 如何创建数据库 数据库的删除操作 存储引擎的了解及其工作原理和如何选择 1 创建数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理 mysql安装完成以后 将会在其data目录下自动创建几个必须的数据库 可以
  • canvas学习笔记(详细)

    Canvas 一 Canvas基础知识 1 画布 画布是H5中一个重要的概念 它面向开发人员提供了非常底层的绘图接口 使得绘制速度可以大幅提高 2 canvas元素 canvas 标签只有两个属性 width和height 这些都是可选的
  • 晶振工作原理及参数详解(最透彻)

    原文链接点击这里 晶振是石英晶体谐振器 quartz crystal oscillator 的简称 也称有源晶振 它能够产生中央处理器 CPU 执行指令所必须的时钟频率信号 CPU一切指令的执行都是建立在这个基础上的 时钟信号频率越高 通常
  • 系统概要设计说明书_「软件项目管理入门」(23) 如何做好概要设计?

    实际上需求分析是一个很复杂的也是很重要的环节 如果要完整的阐述 三言两语肯定不够 好在我这个系列只是和大家分享一些心得 这里就适可而止了 以后有机会再和大家共同探讨这方面的问题 需求分析的输出主要针对乙方 但需要甲方确认 所以很多人误以为甲
  • mysql规范总结

    参考文献 https www cnblogs com qlqwjy p 8425861 html https blog csdn net u010498753 article details 85966709 一 基本规范要求 1 没有特殊
  • Python字典中8个常见内置函数,一次性给你总结

    字典是Python中很重要的数据类型 我们在日后的学习中 会经常遇到 因此 有8个常用的内置函数 我觉得你一定需要知道 d clear 含义 清除字典 d a 10 b 20 c 30 gt gt gt d a 10 b 20 c 30 g
  • Proability and Bayes’ NET

    Probabilistic Inference compute a desired probabilities from others known probabilities 我们通常计算条件概率 each possible state f
  • gorm基础05--CRUD 接口-更新

    gorm基础05 CRUD 接口 更新 介绍 案例 说明 介绍 上文 gorm基础04 CRUD 接口 查询 介绍了gorm 中常见查询方法 本文继续介绍gorm中常见的更新方法 具体包括 保存所有字段 更新单个列 更新多个列 更新选定字段
  • 【零基础学Rust

    文章标题 简介 一 元组 1 定义元组 2 访问元组元素 3 元组解构 4 元组在函数中的应用 二 数组 1 数组的声明和初始化 2 访问数组元素 3 数组的遍历 4 数组的长度 5 数组和函数 三 向量 1 创建向量 2 访问向量 3 修
  • IAR编译项目时报以下错误

    根本原因是因为你宏定义不符合规范
  • OpenCASCADE可视化:使用C/C++演示的3D术语表

    OpenCASCADE可视化 使用C C 演示的3D术语表 在本文中 我们将使用C C 代码和OpenCASCADE库来演示一些与3D图形相关的术语 OpenCASCADE是一个开源的CAD CAE CAM软件开发平台 它提供了丰富的几何建
  • KEIL5配置astyle

    比较清爽的参数 E style google U p n
  • lighttpd支持AJAX吗,lighttpd

    Lighttpd 是一个德国人领导的开源Web服务器软件 软件名称 lighttpd 软件版本 1 4 49 更新时间 2018 03 11软件语言 英语 简 介 Lighttpd 开源Web服务器软件 操作系统 Linux Windows
  • chrome使用指南

    目录 常用快捷键 常用插件 Octotree github源码浏览 GitCodeTree github gitee源码浏览 Axure RP Extension for Chrome 查看原型图 Tampermonkey 油猴脚本 云盘管
  • Flink CDC问题

    这里会列举出一些关键配置和遇到的问题 一直补充 Oracle CDC 1 SUPPLEMENTAL LOG在库和表上都需要执行 不是只有表上 ALTER TABLE inventory customers ADD SUPPLEMENTAL
  • 原生js触底加载案例

    data return RoomData isBool false limit 0 isLoading false methods roomClick value location href value RoomApi this limit
  • 4.网络配置与系统管理

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chuanqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 网络配置
  • mysql创建表时表明加单引号_python在MySQL表名周围插入单引号(‘)

    我有一个名为project1的数据库 其中包含以下表格 systbl1 systbl2 systbl3 dataset1 dataset2 dataset3 每当添加一个新用户时 都需要授予MySQL用户odbc对dataset 表的SEL
  • 组态王串口服务器虚拟串口,串口服务器USR-N510连接组态王设置步骤

    调试目的 USB RS232或者USB RS485串口线接USR N510串口和电脑USB口 MODBUS SLAVE软件打开COM口 模拟客户串口MODBUS RTU设备 USR N510网线和电脑直连 IP设置同网段 在电脑安装USR
  • unicode编码、字符的转换和得到汉字的区位码

    一 unicode编码 字符的转换截图 二 unicode编码 字符的转换代码 using System using System Collections Generic using System ComponentModel using