我實際上試圖在c#中從頭開始創建一個StringToASCII函數。從頭開始StringToASCII失敗
我從_myString輸入,這是代碼:
public void convertToASCII() {
//A-Z --> 65-90
//a-z --> 97-122
//0-9 --> 48-57
//Space --> 32
int[] returnString = new int[_myString.Length];
int iTableau = 0;
char iAZ = 'A';
char iaz = 'a';
char i09 = '0';
char iSpace = ' ';
for(int i = 0; i < _myString.Length; i++)
{
if(_myString[i] >= 65 && _myString[i] <= 90 || _myString[i] >= 97 && _myString[i] <= 122 || _myString[i] >= 48 && _myString[i] <= 57 || _myString[i] == 32)
{
while(iAZ < 90 || iaz < 122 || iaz < 122 || i09 < 57 || _myString[i] == 32)
{
if(_myString[i] == iAZ && iAZ >= 'A' && iAZ <= 'Z')
{
returnString[iTableau] = iAZ;
iTableau++;
iAZ--;
}
else
{
iAZ++;
}
if(_myString[i] == iaz && iaz >= 'a' && iaz <= 'z')
{
returnString[iTableau] = iaz;
iTableau++;
iaz--;
}
else
{
iaz++;
}
if(_myString[i] == i09 && i09 >= '0' && i09 <= '9')
{
returnString[iTableau] = i09;
iTableau++;
i09--;
}
else
{
i09++;
}
if(_myString[i] == iSpace)
{
returnString[iTableau] = iSpace;
iTableau++;
}
}
}
}
_myString = "";
for (int i = 0; i < returnString.Length; i++)
{
_myString += returnString[i];
}
}
我也嘗試過這樣的功能,它的工作原理,但我想提出一個誰從AZ和AZ和只檢查字符0-9和空間。
與第一個函數相同,我從一個名爲「_myString」的全局字符串變量中獲取輸入。
public void convertToASCII()
{
string asciiChar;
string returnString = "";
foreach (char c in _myString)
{
asciiChar= ((int)(c)).ToString();
returnString += " " + asciiChar;
}
_myString = returnString;
}
這裏有問題嗎? – Abion47
你是什麼意思「只檢查」?你如何處理超出這些範圍的角色?只是忽略它們?使用替換字符? 'Encoding.ASCII'有什麼問題? – itsme86
@ itsme86首先感謝您的快速響應,我只想檢查_myString [i]是否在這些範圍內,然後我將它們放入一個數組中,然後再重新結束。 –