C# 中文字符串转GBK字节的示例

一、编写思路

在 C# 中,将中文字符串转换为 GBK 编码的字节数组需要使用 Encoding 类。然而,Encoding 类虽然默认并不直接支持 GBK 编码,但是可以通过以下方式来实现这一转换:

1.使用系统已安装的编码提供者(如果系统支持 GBK 的话)。
2.使用第三方库,如 ICSharpCode.SharpZipLib,它提供了对多种编码的支持,包括 GBK。
3.如果环境不支持 GBK,则需要查找或编写一个自定义的编码提供者。

二、测试代码

如果系统支持 GBK,则可以尝试通过 Encoding.GetEncoding(“GBK”) 来获取编码对象。

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 WindowsFormsApplication1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void gbkTest(){//string originalString = "你好,世界!"; // 中文字符串  try{// 尝试获取 GBK 编码的 Encoding 对象  Encoding gbkEncoding = Encoding.GetEncoding("GBK");// 将字符串转换为 GBK 编码的字节数组  byte[] gbkBytes = gbkEncoding.GetBytes(textBox1.Text);//originalString// 输出转换后的字节数组(仅为示例,通常不会直接输出字节)  foreach (byte b in gbkBytes){Console.Write("{0:X2} ", b);textBox2.Text += b.ToString("X2") + " ";//转换为16进制显示}Console.WriteLine();}catch (ArgumentException ex){// 如果系统不支持 GBK 编码,则会抛出 ArgumentException  Console.WriteLine("系统不支持 GBK 编码: " + ex.Message);}} private void button1_Click(object sender, EventArgs e){textBox2.Text = null;gbkTest();}}
}

测试结果:
在这里插入图片描述
在线编码比对,结果是一致的,编码正确。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库查询字段在哪个数据表中

问题的提出 当DBA运维多个数据库以及多个数据表的时候,联合查询是必不可少的。则数据表的字段名称是需要知道在哪些数据表中存在的。故如下指令,可能会帮助到你: 问题的处理 查找sysinfo这个字段名称都存在哪个数据库中的哪个数据表 SELEC…

大模型日报2024-06-04

大模型日报 2024-06-04 大模型资讯 1-bit LLMs或能解决AI的能耗问题 摘要: 大型语言模型(如ChatGPT)的性能不断提升,但其规模也在扩大。1-bit LLMs有望在保持高性能的同时,大幅降低能耗,解决AI系统的能源需求问题。 Hu…

Ubuntu系统设置Redis与MySQL登录密码

Ubuntu系统设置Redis与MySQL登录密码 在Ubuntu 20.04系统中配置Redis和MySQL的密码,您需要分别对两个服务进行配置。以下是详细步骤: 配置Redis密码 打开Redis配置文件: Redis的配置文件通常位于/etc/redis/redis.conf。 sudo nano /etc/redis/redis.c…

从实战案例来学习结构化提示词(一)

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之…

C# 获取windows的上传下载速度

直接利用CZGL.SystemInfo代码 UnitType.cs /// <summary> /// 单位 /// </summary> public enum UnitType : int {/// <summary>/// Byte/// </summary>/// B 0,/// <summary>/// KB/// </summary>KB,/// <summary>/// MB/// </…

Python语法详解module1(变量、数据类型)

目录 一、变量1. 变量的概念2. 创建变量3. 变量的修改4. 变量的命名 二、数据类型1. Python中的数据类型2. 整型&#xff08;int&#xff09;3. 浮点型&#xff08;float&#xff09;4. 布尔型&#xff08;bool&#xff09;5. 字符串&#xff08;str&#xff09;6.复数&#xf…

MySQL中所有常见知识点汇总

存储引擎 这一张是关于整个存储引擎的汇总知识了。 MySQL体系结构 这里是MySQL的体系结构图&#xff1a; 一般将MySQL分为server层和存储引擎两个部分。 其实MySQL体系结构主要分为下面这几个部分&#xff1a; 连接器&#xff1a;负责跟客户端建立连 接、获取权限、维持和管理…

JavaScript第九讲BOM编程的练习题

前言 上一节有BOM的讲解&#xff0c;有需要的码客们可以去看一下 以下是一个结合了上述BOM&#xff08;Browser Object Model&#xff09;相关内容的练习题及其源代码示例&#xff1a; 练习题&#xff1a; 编写一个JavaScript脚本&#xff0c;该脚本应该执行以下操作&#…

1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 题目链接&#xff1a;1141. 查询近30天活跃用户数 代码如下&#xff1a; # Write your MySQL query statement below select activity_date as day,count(distinct user_id) as active_users from Activity where activity_date between 2019-06-…

[数据集][图像分类]蘑菇分类数据集14689张50类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;14689 分类类别数&#xff1a;50 类别名称:[“agaricus_augustus”,“agari…

流程引擎,灵活设计业务流程的编辑器设计

流程引擎&#xff0c;灵活设计业务流程的编辑器设计

PySpark特征工程(I)--数据预处理

有这么一句话在业界广泛流传&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。由此可见&#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中&#xff0c;可以说特征工程是机器学习成功的关键。 特征工程是数据分析…

若依项目部署(Linux2.0)

解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 配置Java环境变量&#xff1a; vim /etc/profile 设置环境变量生效&#xff1a; source /etc/profile 查看一下jdk版本&#xff1a; java -version 解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz 防火墙设置&#xff1a; …

一款WPF的小巧MVVM框架——stylet框架初体验

今天偶然知道有一款叫做stylet的MVVM框架&#xff0c;挺小巧的&#xff0c;特别是它的命令触发方式&#xff0c;简单粗暴&#xff0c;让人感觉很神器。所以接下来我要做一个简单的demo&#xff0c;顺便来分享给大家。 本地创建一个WPF项目&#xff0c;此处我使用.NET 8来创建。…

前端 JS 经典:阿里云文件上传思路

前言&#xff1a;功能点概括&#xff1a;1、多选文件 2、选择文件夹 3、拖拽 4、选择后形成一个列表&#xff0c;列表里有一些信息 5、有进度条 6、控制并发数 7、可取消 8、展示统计信息 1. 交互实现 交互的目标是要拿到 file 对象。只要拿到 file 对象&#xff0c;就能通过…

大前端nestjs入门教程系列(五):nestjs整合jwt该怎么做

写在前面 相信大家对于jwt应该不陌生了,做过前后端分离的童鞋应该对jwt不陌生,但是jwt是用来干什么的呢?jwt是json web token的缩写,它是一个开放标准(RFC 7519),定义了一种紧凑且独立的方式,可以在各方通过JSON 对象安全地传输信息。此信息可以通过数字签名进行验证和…

ABB喷涂机器人IRB52维修指导分析

ABB喷涂机器人是一种非常重要的涂装设备&#xff0c;但是它的维护保养工作也必不可少。如果不定期维修保养&#xff0c;可能会导致ABB喷涂机械手故障&#xff0c;影响生产效率和产品质量。 首先&#xff0c;定期检查ABB涂装机器人IRB52喷嘴和喷枪是否正常&#xff0c;这是维修…

计算机视觉(CV)的教程、相关项目

计算机视觉(CV)是一个广泛而深入的领域,其教程和项目众多。以下是针对计算机视觉(CV)的教程和相关项目的一个清晰概述: 教程 入门教程: OpenCV入门:OpenCV是一个开源的计算机视觉库,提供了大量用于图像和视频处理的函数。可以通过OpenCV的官方文档或在线教程来学习其…

【Mac】Downie 4 for Mac(视频download工具)兼容14系统软件介绍及安装教程

前言 Downie 每周都会更新一个版本适配视频网站&#xff0c;如果遇到视频download不了的情况&#xff0c;请搜索最新版本https://mac.shuiche.cc/search/downie。 注意&#xff1a;Downie Mac特别版不能升级&#xff0c;在设置中找到更新一列&#xff0c;把自动更新和自动downl…

azure cli的安装和使用

1 概述 azure cli是管理azure云资源的命令行工具。 官网为&#xff1a; https://learn.microsoft.com/zh-cn/cli/azure/2 安装 2.1 容器安装 docker run -it mcr.microsoft.com/azure-cli3 登录 9d039d31f8e5:/# az login To sign in, use a web browser to open the page…