C#全形和半形轉換
在計算機螢幕上,一個漢字要佔兩個英文字元的位置,人們把一個英文字元所佔的位置稱為"半形",相對地把一個漢字所佔的位置稱為"全形"。在漢字輸入時,系統提供"半形"和"全形"兩種不同的輸入狀態,但是對於英文字母、符號和數字這些通用字元就不同於漢字,在半形狀態它們被作為英文字元處理;而在全形狀態,它們又可作為中文字元處理。半形和全形切換方法:單擊輸入法工具條上的 按鈕或按鍵盤上的Shift+Space鍵來切換。
(1)全形--指一個字元佔用兩個標準字元位置。
漢字字元和規定了全形的英文字元及國標GB2312-80中的圖形符號和特殊字元都是全形字元。一般的系統命令是不用全形字元的,只是在作文書處理時才會使用全形字元。
(2)半形--指一字元佔用一個標準的字元位置。
通常的英文字母、數字鍵、符號鍵都是半形的,半形的顯示內碼都是一個位元組。在系統內部,以上三種字元是作為基本程式碼處理的,所以使用者輸入命令和引數時一般都使用半形。
B 全形與半形各在什麼情況下使用?
全形佔兩個位元組,半形佔一個位元組。
半形全形主要是針對標點符號來說的,全形標點佔兩個位元組,半形佔一個位元組,而不管是半形還是全形,漢字都還是要佔兩個位元組。
在程式設計序的原始碼中只能使用半形標點(不包括字串內部的資料)
在不支援漢字等語言的計算機上只能使用半形標點(其實這種情況根本就不存在半形全形的概念)
對於大多數字體來說,全形看起來比半形大,當然這不是本質區別了。
C 全形和半形的區別
全形就是字母和數字等與漢字佔等寬位置的字。半形就是ASCII方式的字元,在沒有漢字輸入法起做用的時候輸入的字母數字和字元都是半形的。
在漢字輸入法出現的時候,輸入的字母數字預設為半形,但是標點則是預設為全形,可以通過滑鼠點選輸入法工具條上的相應按鈕來改變。
D 關於“全形”和“半形”:
全形:是指中GB2312-80(《資訊交換用漢字編碼字符集·基本集》)中的各種符號。
半形:是指英檔案ASCII碼中的各種符號。
/// 轉全形的函式(SBC case)
///
///任意字串
///全形字串
///
///全形空格為12288,半形空格為32
///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248
///
public static String ToSBC(String input)
{
// 半形轉全形:
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 32)
{
c[i] = (char)12288;
continue;
}
if (c[i] < 127)
c[i] = (char)(c[i] + 65248);
}
return new String(c);
}
/**/
// /
// / 轉半形的函式(DBC case)
// /
// /任意字串
// /半形字串
// /
// /全形空格為12288,半形空格為32
// /其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248
// /
public static String ToDBC(String input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new String(c);
}
[TestMethod]
public void DBCTEST()
{
string strSBC = "中華1259test";
string result = ToDBC(strSBC);
Console.WriteLine(result);
Assert.AreEqual(result,"中華1259test");
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-608975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#全形半形轉換函式C#函式
- 詳解全形和半形的轉換
- 全形字母轉換為半形?
- oracle 全形半形轉換函式Oracle函式
- 全形轉半形函式函式
- Python 全形轉半形Python
- JavaScript全形和半形相互轉換JavaScript
- android 標點符號的全形半形轉換Android符號
- js全形字元轉為半形字元JS字元
- java中去除全形和半形空格Java
- 編寫Word“宏”輕鬆將全形數字轉換為半形(轉)
- 關於oracle資料庫全形數字轉換半形數字方法Oracle資料庫
- c#全半形轉換示例程式碼C#
- sql 去除字串的左右全形、半形空格SQL字串
- 安卓資源字串中加全形空格、半形空格、換行、@%等特殊字元安卓字串字元
- JS實現全半形轉換和去空格JS
- 區分全形和半形的刪除字串兩端空格程式碼字串
- 貼上後全形標點變半形標點怎麼解決(轉)
- Win7系統 如何遮蔽全形/半形快捷鍵Win7
- 將一個字串中含有全形的數字字元、字母、空格或'%+-()'字元轉換為相應半形字元字串字元
- windows10系統下微軟五筆全形半形如何切換Windows微軟
- Oracle11g的SQL支援程式碼中全形字元代替半形字元OracleSQL字元
- 搜狗輸入法切換到半形
- Win10系統微軟拼音無法切換輸入法全形和半形如何解決Win10微軟
- c#安全形色示例C#
- C# 列舉遍歷和轉換C#
- C# 自定義 implicit和explicit轉換C#
- C# bytes[]和sting互相轉換C#
- centos 圖形介面和命令列介面切換(轉載)CentOS命令列
- c#入門-型別轉換和運算C#型別
- 程式碼換膚術(一)——C#和VB (轉)C#
- C#日期格式轉換C#
- c#列舉轉換C#
- C# 型別轉換C#型別
- C#和JAVA的RSA金鑰、公鑰轉換C#Java
- string和byte[]之間的轉換 (C#)C#
- c#進位制轉換C#
- C#轉換Datetime為 UnixTimeStamp方法和坑點C#