実際には、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からのみ文字をチェックし、1をしたいと思い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]がその範囲にあるかどうかをチェックしたいだけです。 –