Apakah maksud Anda Anda hanya menginginkan karakter abjad dan bukan angka? Jadi, Anda menginginkan "kualitas" sebagai hasilnya? Karena kemudian berbicara tentang ASCII tidak masuk akal.
Lars Truijens
Saya ingin Ascii setiap karakter dari string itu, Ascii digit serta ascii dari kata "kualitas"
RBS
Yang Anda maksud adalah Anda menginginkan nilai ASCII numerik dari setiap karakter dalam string, dengan asumsi seluruh string dapat direpresentasikan dalam ASCII. Kata-kata Anda saat ini sangat membingungkan.
Ini menunjukkan kepada saya System.Byte []. Anda perlu mengulang karakter di kata. Tidak yakin bagaimana Anda membuatnya bekerja. Membantu OP meskipun itulah yang penting.
NikosV
Catatan: Encoding.ASCIIdikonfigurasi untuk mengeluarkan unit kode ASCII untuk karakter pengganti ('?') Untuk karakter yang tidak ada dalam kumpulan karakter ASCII. Opsi lain — termasuk melempar pengecualian — tersedia di Encodingkelas. Dan, tentu saja, pengkodean karakter lain — terutama UTF-8 — juga tersedia; Orang harus mempertanyakan apakah ASCII yang benar-benar diinginkan.
Tom Blodget
37
string s ="9quali52ty3";foreach(char c in s){Console.WriteLine((int)c);}
Apakah maksud Anda Anda hanya menginginkan karakter abjad dan bukan angka? Jadi, Anda menginginkan "kualitas" sebagai hasilnya? Anda dapat menggunakan Char.IsLetter atau Char.IsDigit untuk memfilternya satu per satu.
string s ="9quali52ty3";StringBuilder result =newStringBuilder();foreach(char c in s){if(Char.IsLetter(c))
result.Add(c);}Console.WriteLine(result);// quality
stringvalue="mahesh";// Convert the string into a byte[].byte[] asciiBytes =Encoding.ASCII.GetBytes(value);for(int i =0; i <value.Length; i++){Console.WriteLine(value.Substring(i,1)+" as ASCII value of: "+ asciiBytes[i]);}
Program ini akan menerima lebih dari satu karakter dan mengeluarkan nilai ASCII-nya:
using System;class ASCII
{publicstaticvoidMain(string[] args){string s;Console.WriteLine(" Enter your sentence: ");
s =Console.ReadLine();foreach(char c in s){Console.WriteLine((int)c);}}}
Responden sebelumnya telah menjawab pertanyaan tetapi belum memberikan informasi yang saya harapkan dari judul. Saya memiliki metode yang mengembalikan string satu karakter tetapi saya menginginkan karakter yang dapat saya ubah menjadi heksadesimal. Kode berikut menunjukkan apa yang saya pikir akan saya temukan dengan harapan berguna bagi orang lain.
string s ="\ta£\x0394\x221A";// tab; lower case a; pound sign; Greek delta;// square root Debug.Print(s);char c = s[0];int i =(int)c;string x = i.ToString("X");
c = s[1];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[2];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[3];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[4];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
Kode di atas menampilkan yang berikut ke jendela langsung:
//Create a character to compare BOMchar byteOrderMark =(char)65279;if(sourceString.ToCharArray()[0].Equals(byteOrderMark)){
targetString = sourceString.Remove(0,1);}
Saya ingin mendapatkan nilai karakter ASCII dalam string di C #.
Setiap orang memberikan jawaban dalam struktur ini. Jika string saya memiliki nilai "9quali52ty3", saya ingin array dengan nilai ASCII dari masing-masing 11 karakter.
tetapi di konsol kami bekerja terus terang jadi kami mendapatkan karakter dan mencetak kode ASCII jika saya salah jadi tolong perbaiki jawaban saya.
Jawaban ini membutuhkan lebih banyak penjelasan. Jika Anda memiliki kolega yang lebih fasih berbahasa Inggris, dengan hormat Anda harus meminta bantuan.
O. Jones
penjelasan saya sangat sederhana karena kode saya sangat sederhana tanpa variabel tetapi menggunakan konsep sederhana bagaimana dapat mencetak nilai ASCII individu sederhana mendapatkan char dan mengkonversi char dalam nilai integer jadi tolong Anda menerapkan ini dan jika saya memiliki kesalahan dalam penjelasan saya jadi tolong Anda perbaiki ini, terima kasih
MA Nadeem
0
Mengapa tidak cara mudah kuno?
publicint[]ToASCII(string s){char c;int[] cByte =newint[s.Length];/ the ASCII stringfor(int i =0; i < s.Length; i++){
c = s[i];// get a character from the string s
cByte[i]=Convert.ToInt16(c);// and convert it to ASCII}return cByte;}
string nomFile ="9quali52ty3";byte[] nomBytes =Encoding.ASCII.GetBytes(nomFile);string name ="";foreach(byte he in nomBytes){
name += he.ToString("X02");}`Console.WriteLine(name);
Meskipun kode ini dapat menyelesaikan pertanyaan, termasuk penjelasan tentang bagaimana dan mengapa ini menyelesaikan masalah akan sangat membantu untuk meningkatkan kualitas posting Anda, dan mungkin menghasilkan lebih banyak suara. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa depan, bukan hanya orang yang bertanya sekarang. Harap edit jawaban Anda untuk menambahkan penjelasan dan memberikan indikasi batasan dan asumsi apa yang berlaku.
Dharman
Memberikan kesalahan kompilasi: "Karakter tidak terduga". Keduanya `setelah ToString mungkin seharusnya tidak ada di sana.
Jawaban:
Dari MSDN
Anda sekarang memiliki larik nilai ASCII byte. Saya mendapatkan yang berikut:
57113 117 97108105 53 50116121 51
sumber
Encoding.ASCII
dikonfigurasi untuk mengeluarkan unit kode ASCII untuk karakter pengganti ('?') Untuk karakter yang tidak ada dalam kumpulan karakter ASCII. Opsi lain — termasuk melempar pengecualian — tersedia diEncoding
kelas. Dan, tentu saja, pengkodean karakter lain — terutama UTF-8 — juga tersedia; Orang harus mempertanyakan apakah ASCII yang benar-benar diinginkan.sumber
Ini harus bekerja:
sumber
Apakah maksud Anda Anda hanya menginginkan karakter abjad dan bukan angka? Jadi, Anda menginginkan "kualitas" sebagai hasilnya? Anda dapat menggunakan Char.IsLetter atau Char.IsDigit untuk memfilternya satu per satu.
sumber
sumber
Jika saya ingat dengan benar, nilai ASCII adalah nomor tujuh bit yang lebih rendah dari nomor Unicode .
sumber
Jika Anda menginginkan kode karakter untuk setiap karakter dalam string, Anda dapat melakukan sesuatu seperti ini:
sumber
sumber
Program ini akan menerima lebih dari satu karakter dan mengeluarkan nilai ASCII-nya:
sumber
Responden sebelumnya telah menjawab pertanyaan tetapi belum memberikan informasi yang saya harapkan dari judul. Saya memiliki metode yang mengembalikan string satu karakter tetapi saya menginginkan karakter yang dapat saya ubah menjadi heksadesimal. Kode berikut menunjukkan apa yang saya pikir akan saya temukan dengan harapan berguna bagi orang lain.
Kode di atas menampilkan yang berikut ke jendela langsung:
a 97 61
£ 163 A3
Δ 916 394
√ 8730 221A
sumber
Anda dapat menghapus BOM menggunakan:
sumber
Atau di LINQ:
sumber
Saya ingin mendapatkan nilai karakter ASCII dalam string di C #.
Setiap orang memberikan jawaban dalam struktur ini. Jika string saya memiliki nilai "9quali52ty3", saya ingin array dengan nilai ASCII dari masing-masing 11 karakter.
tetapi di konsol kami bekerja terus terang jadi kami mendapatkan karakter dan mencetak kode ASCII jika saya salah jadi tolong perbaiki jawaban saya.
sumber
Mengapa tidak cara mudah kuno?
sumber
// sekarang lebih baik;)
sumber