1. 程式人生 > >C# 八進位制數值字串轉換成ASCII 字串相互轉換

C# 八進位制數值字串轉換成ASCII 字串相互轉換

      註冊一個外國的網站,註冊驗證的資訊為八進位制數值的字串形式,需要解碼一下才能知道驗證的問題。因此寫了一個小工具來轉換。如下:

八進位制數值字串:形式如:


127 150 157 040 144 145 166 145 154 157 160 145 144 040 164 150 145 040 107 141 151 141 040 124 150 145 157 162 171 077

轉換成ASCII字串:形式如:

Who developed the Gaia Theory?



用C#實現的原始碼如下:


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

namespace RegDecode_V1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_Decode_Click(object sender, EventArgs e)
        {
            txt_DES.Text = "";
            txt_SRC.Text = txt_SRC.Text.Trim();     //去首尾的空格
            Byte[] numbers = asciiToString(txt_SRC.Text);
            txt_DES.Text = Encoding.ASCII.GetString(numbers);
        }

        public Byte [] asciiToString(string value)          //轉換成ASCII碼
        {
            Byte[] nums = new Byte[200];
            string[] chars = value.Split(' ');      //空格間隔的
            for (int i = 0; i < chars.Length; i++)
            {
                nums[i] = Convert.ToByte(chars[i], 8);
            }
            return nums;
        }

        private void btn_Encode_Click(object sender, EventArgs e)
        {
            txt_SRC.Text = "";
            string[] strEncode = StringToOctal(txt_DES.Text.Trim());
            for(int j=0;j<strEncode.Length;j++)
            {
                if(strEncode[j]!=null)
                {
                    txt_SRC.Text += strEncode[j];
                    txt_SRC.Text += " ";
                }
                txt_SRC.Text = txt_SRC.Text;
            }


        }

        public string[] StringToOctal(string value)         //轉換成三位的八進位制字串陣列
        {
            string[] strs = new string[200];
            char[] chars = value.ToCharArray();
            for (int i = 0; i < value.Length; i++)
            {
                strs[i] = Convert.ToString(chars[i], 8);
                strs[i] = strs[i].PadLeft(3, '0');
            }
            strs[value.Length] = null;
            return strs;
        }
    }
}


執行的效果如下:


C#工程下載地址:工程下載

相關推薦

C# 數值字串轉換ASCII 字串相互轉換

      註冊一個外國的網站,註冊驗證的資訊為八進位制數值的字串形式,需要解碼一下才能知道驗證的問題。因此寫了一個小工具來轉換。如下: 八進位制數值字串:形式如: 127 150 157 040 144 145 166 145 154 157 160 145 144 040 164 150 145

ASCII、十六、位元組陣列、字元陣列相互轉換

/** * 字串轉換為Ascii * @param value * @return */ public static String stringToASCII(String val

C# 16字串、位元組陣列之間的轉換(轉)

1.請問c#中如何將十進位制數的字串轉化成十六進位制數的字串 //十進位制轉二進位制 Console.WriteLine("十進位制166的二進位制表示: "+Convert.ToString(166, 2)); //十進位制轉八進位制 Console.WriteLine("十進位制166的八進位

C語言——十進位制轉為二進位制、、十六的函式轉換

/*** * Copyright(C) 2011, SKYCNC * All rights reserved * * 程式名稱:dec_to_bin_oct_hex * 功    能:輸入一個十進位制數,將其轉化為二進位制、八進位制、十六進位制 * * 作    者:zhanghbboy * 完成日期:1

BASIC-12 基礎練習 十六c++)兩種解法,轉換2或10

 基礎練習 十六進位制轉八進位制   時間限制:1.0s   記憶體限制:512.0MB        錦囊1 使用二進位制。 錦囊2 先把十六進位制轉成二進位制,每位十六進位制正好

C# 16(hex)字串到位元組流的轉換 示例

在工程實踐中,經常會將一些位元組資訊轉換為16進位制字串,以便傳遞和分享,比如加密金鑰資訊。在這裡提供一段轉化示例, 以供交流學習。 將16進位制字串轉化為 位元組流 publi

C# 16(hex)字串到位元組流的轉換 示例

在工程實踐中,經常會將一些位元組資訊轉換為16進位制字串,以便傳遞和分享,比如加密金鑰資訊。在這裡提供一段轉化示例, 以供交流學習。 將16進位制字串轉化為 位元組流 public static byte[] HexStringToBytes(string

Python: 二進位制、、十六轉換或者輸出

為了將整數轉換為二進位制、八進位制或十六進位制的文字串,可以分別使用bin() ,oct() 或hex() 函式: >>> x = 1234 >>> bin(x) '0b10011010010' >>> oct(x) '0o2322' >&g

[計算機程式設計C++] 輸入整數顯示十六

12 輸入整數顯示十六進位制和八進位制(10分) 題目內容: 編寫程式,輸入整數,顯示其十進位制、十六進位制和八進位制形式。如輸入31,輸出: -31 -1f -37 輸入:一個整數,注意,可能是負數。 輸出:三個數,十進位制、十六進位制和八進位制,用空格隔開。 提示

xxx2xxx轉換工具邪惡收集整理上傳專用主題 不斷更新 https //forum eviloctal com/

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Python程式設計:二進位制,,十六與十進位制之間的轉換

進位制轉換的函式 bin() 10進位制轉2進位制 oct() 10進位制轉8進位制 hex()10進位制轉16進位制 int() *進位制轉10進位制 各進位制之間轉換 ↓ 2進位制 8進位制

JAVA 二進位制,,十六,十進位制間進行相互轉換

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python : 二進位制、,十進位制和十六相互轉換

二進位制、八進位制和十六進位制轉化為十進位制:  二進位制轉化為十進位制:print(int("111",2))    輸出為7  八進位制轉化為十進位制:print(int("11",8))    輸出為9 十六進位制轉化為十

C++入門篇——輸入一個整數並將這個整數分別以,十進位制,十六輸出;同時輸入一個布林值並且以布林值的方式打印出來

C++入門篇 輸入一個整數並將這個整數分別以 八進位制,十進位制,十六進位制輸出; 同時輸入一個布林值並且以 布林值的方式打印出來 注意:執行的時候需要按 ctrl鍵+F5 如果想只按F5就執行,在return 0;前面加一段程式碼: system("pause"); 同時需要

將十進位制轉換為二進位制、、十六

將十進位制轉換為其它進位制時比較複雜,整數部分和小數部分的演算法不一樣。 1) 整數部分 十進位制整數轉換為 N 進位制整數採用“除 N 取餘,逆序排列”法。具體做法是: 將 N 作為除數,用十進位制整數除以 N,可以得到一個商和餘數; 保留餘數,用商繼續除以 N,又得到一個新的商和餘數;

轉換:二進位制、、十六、轉十進位制

將二進位制、八進位制、十六進位制等轉換為十進位制 二進位制、八進位制和十六進位制向十進位制轉換都非常容易,就是“按權相加”。所謂“權”,也即“位權”。 假設當前數字是 N 進位制,那麼: 對於整數部分,從右往左看,第 i 位的位權等於Ni-1 對於小數部分,恰好相反,要從左往右看,第 i 位

Python 轉換為十進位制程式碼

Python 八進位制轉換為十進位制的程式碼示例,包括了程式分析和程式原始碼,分享原始碼如下: #整數版 from functools import reduce n=[int(x) for x in input('輸入一個整數:')] print(reduce(lambda x,y:x*8+y,n)

1351: G.ly的轉換解題報告---十六

題目描述 ly去年有門課叫C語言基礎,今年的期末考試上有一道題目是"將16進位制的數字39轉換成八進位制",但是ly並不會算... 在去年考完試之後,發奮學習,並且只學習怎麼把16進位制的數字轉換成八進位制... 今年的java考試剛好也有這個問題,但是ly缺忘了怎麼算...所以你能幫她嗎?

超長的十六轉換

之前在oj上做過,今天做藍橋杯基礎練習又遇到了這題 but沒有一遍AC 基礎練習 十六進位制轉八進位制 時間限制:1.0s 記憶體限制:512.0MB 提交此題 錦囊1 錦囊2 問題描述   給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式   輸入的第一行為一個正整數

棧-十進位制整數轉換

十進位制數N和其他d進位制數的轉換是計算機實現計算的基本問題。有一個簡單演算法基於下列原理: N=(N div d) * d + N mod d (div為整除運算,mod為求餘運算) 對於輸入的任