C#使用移位運(yùn)算符獲取漢字編碼的示例代碼
一、移位運(yùn)算符
位移運(yùn)算符分為左位移運(yùn)算符<<和右位移運(yùn)算符>>,分別用于向左和向右執(zhí)行移位運(yùn)算。對(duì)于X<<N或X>>N形式的運(yùn)算,含義是將X向左或向右移動(dòng)N位,X的類型可以是int、uint、long、ulong、byte、sbyte、short和ushort。需要注意的是,byte、sbyte、short和ushort類型的值在進(jìn)行位移操作后值的類型將自動(dòng)轉(zhuǎn)換成int類型。
二、方法
將字節(jié)序列的第一個(gè)字節(jié)向左移8位,第一個(gè)字節(jié)移8位后與第二個(gè)字節(jié)相加得到漢字編碼;
三、示例
using System.Text; namespace _019 { public partial class Form1 : Form { private Label? label1; private TextBox? textBox1; private TextBox? textBox2; private Button? button1; public Form1() { InitializeComponent(); Load += Form1_Load; } private void Form1_Load(object? sender, EventArgs e) { // // txt_Num // textBox2 = new TextBox { Location = new Point(146, 52), Name = "txt_Num", Size = new Size(100, 21), TabIndex = 7 }; // // label1 // label1 = new Label { AutoSize = true, Location = new Point(24, 19), Name = "label1", Size = new Size(113, 12), TabIndex = 6, Text = "輸入一個(gè)漢字字符:" }; // // txt_chr // textBox1 = new TextBox { Location = new Point(146, 14), Name = "txt_chr", Size = new Size(100, 21), TabIndex = 5 }; // // btn_Get // button1 = new Button { Location = new Point(26, 50), Name = "btn_Get", Size = new Size(100, 23), TabIndex = 4, Text = "獲取漢字編碼值", UseVisualStyleBackColor = true }; button1.Click += new EventHandler(Button1_Click); // // Form1 // AutoScaleDimensions = new SizeF(6F, 12F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(269, 89); Controls.Add(textBox2); Controls.Add(label1); Controls.Add(textBox1); Controls.Add(button1); Name = "Form1"; Text = "獲取漢字編碼值"; SuspendLayout(); } /// <summary> /// GB2312并不是VS默認(rèn)支持的編碼,需要安裝編碼庫。 /// </summary> private void Button1_Click(object? sender, EventArgs e) { try { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); /*char chr = textBox1!.Text.ToCharArray()[0]; *///獲取文本框中位置為1的漢字 char chr = textBox1!.Text[0]; //等效語句 char[] chars = [chr]; byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(chars: [chr]); //使用gb2312編碼方式獲得字節(jié)序列 int n = bytes[0] << 8; //將字節(jié)序列的第一個(gè)字節(jié)向左移8位 n += bytes[1]; //第一個(gè)字節(jié)移8位后與第二個(gè)字節(jié)相加得到漢字編碼 textBox2!.Text = n.ToString(); //顯示漢字編碼 } catch (Exception) { MessageBox.Show("請(qǐng)輸入漢字字符!", "出現(xiàn)錯(cuò)誤!"); } } } }
四、生成效果
到此這篇關(guān)于C#使用移位運(yùn)算符獲取漢字編碼的示例代碼的文章就介紹到這了,更多相關(guān)C#獲取漢字編碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# Winform實(shí)現(xiàn)導(dǎo)入和導(dǎo)出Excel文件
這篇文章主要為大家詳細(xì)介紹了C# Winform實(shí)現(xiàn)導(dǎo)入和導(dǎo)出Excel文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12C#實(shí)現(xiàn)Json轉(zhuǎn)Unicode的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Json轉(zhuǎn)Unicode的方法,可實(shí)現(xiàn)輸入為帶有json格式的文本,輸出正常文本的功能,需要的朋友可以參考下2014-09-09C#如何實(shí)現(xiàn)調(diào)取釘釘考勤接口的功能
這篇文章主要介紹了C#如何實(shí)現(xiàn)調(diào)取釘釘考勤接口的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08C#實(shí)現(xiàn)讀取txt文件生成Word文檔
大家好,本篇文章主要講的是C#實(shí)現(xiàn)讀取txt文件生成Word文檔,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01C#實(shí)現(xiàn)DataGridView控件行列互換的方法
這篇文章主要介紹了C#實(shí)現(xiàn)DataGridView控件行列互換的方法,涉及C#中DataGridView控件元素遍歷與添加操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#實(shí)現(xiàn)上位機(jī)與歐姆龍PLC通訊(FINS)
這篇文章主要介紹了C#實(shí)現(xiàn)上位機(jī)與歐姆龍PLC通訊(FINS)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05