簡體   English   中英

有什么方法可以使用c#獲取特殊符號(如“ GS”)的ascii值?

[英]Is there any way to get the ascii value of special symbols like 'GS' using c#?

我想接收符號GS的ascii值。 我知道他的ascii值為29-但是我的問題是如何在C#代碼上編寫它而無需只寫29。有什么辦法可以像我想獲取'x'的ascii一樣嗎?

非常感謝。

我認為您想做的事情不可能直接實現。 如果您已經將值存儲在char變量中,則可以直接將其強制轉換:

int value = (int) groupSeperator;

如果您只是在尋找一種更具可讀性的方式來創建組分隔符變量,請在某個位置定義一個常量。 我提供了控制字符的完整列表,以供將來其他用戶復制粘貼使用。

public const char Null = (char)0;
public const char StartOfHeading = (char)1;
public const char StartOfText = (char)2;
public const char EndOfText = (char)3;
public const char EndOfTransmission = (char)4;
public const char Enquiry = (char)5;
public const char Acknowledge = (char)6;
public const char Bell = (char)7;
public const char Backspace = (char)8;
public const char HorizontalTab = (char)9;
public const char LineFeed = (char)10;
public const char VerticalTab = (char)11;
public const char FormFeed = (char)12;
public const char CarriageReturn = (char)13;
public const char ShiftOut = (char)14;
public const char ShiftIn = (char)15;
public const char DataLinkEscape = (char)16;
public const char DeviceControl1 = (char)17;
public const char DeviceControl2 = (char)18;
public const char DeviceControl3 = (char)19;
public const char DeviceControl4 = (char)20;
public const char NagativeAcknowledge = (char)21;
public const char SynchronousIdle = (char)22;
public const char EndOfTrasmissionBlock = (char)23;
public const char Cancel = (char)24;
public const char EndOfMedium = (char)25;
public const char Substitute = (char)26;
public const char Escape = (char)27;
public const char FileSeperator = (char)28;
public const char GroupSeperator = (char)29;
public const char RecordSeperator = (char)30;
public const char UnitSeperator = (char)31;

並在需要時將其轉換為int

最好的選擇是創建一個靜態類Ascii ,在其中放置代碼:

static public class Ascii {
    ...
    public static char GS = 29;
    ...
}

然后可以將其稱為char c = Ascii.GS;

這樣,您只需要編寫一次,就不會輕易打錯字。 我在.NET中搜索了類似的內容,但似乎不存在。

將char轉換為int

int i = (int)'x';

結果將是字符代碼。

您將無法簡單地將GS轉換為ascii字符。 您要么必須構建一個類並手動進行轉換,要么已經存儲了ascii值。 以下適用於后一種情況。

    //We have a string containing the special character. This is just an example, I imagine you're actually getting it from a delimited file or such.
    string c = Char.ConvertFromUtf32(29);
    //Convert it to Utf
    int something = char.ConvertToUtf32(c, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM