textBox1.Text (hex) to texBox2.Text(binary) - c#

how do I convert text in textBox1 from Hex to Binary and display it in textBox2
I don't even know where to start

To convert an hex string to a binary string you should do :
string binaryValue = Convert.ToString(Convert.ToInt32(hexValue, 16), 2);
Then for the TextBox there is ton of tutorial to make it.

Related

Correct text direction on pdf file with c#

I have pdf file that all the text come like that:
instead "hello my world" write "dlrow ym olleh"...
how can i convert the text to the correct please?
For example , the url
http://www.textreverse.com/
do it well,
I need to do it on c#
thanks!!
You need to reverse a string. Here is a way to do it:
1. Split your string to an array of chars:
char[] Chars = PdfString.ToCharArray();
2. Reverse the array:
Array.Reverse(Chars);
3. Convert a string out of this array:
string ReversedPdfString = new string(Chars);

How to insert a Symbol (Pound, Euro, Copyright) into a Textbox

I can use the Alt Key with the Number Pad to type symbols, but how do I programmatically insert a Symbol (Pound, Euro, Copyright) into a Textbox?
I have a configuration screen so I need to dynamically create the \uXXXX's.
In C#, the Unicode character literal \uXXXX where the X's are hex characters will let you specify Unicode characters. For example:
\u00A3 is the Pound sign, £.
\u20AC is the Euro sign, €.
\u00A9 is the copyright symbol, ©.
You can use these Unicode character literals just like any other character in a string.
For example, "15 \u00A3 per item" would be the string "15 £ per item".
You can put such a string in a textbox just like you would with any other string.
Note: You can also just copy (Ctrl+C) a symbol off of a website, like Wikipedia (Pound sign), and then paste (Ctrl+V) it directly into a string literal in your C# source code file. C# source code files use Unicode natively. This approach completely relieves you from ever even having to know the four hex digits for the symbol you want.
To parallel the example above, you could make the same string literal as simply "15 £ per item".
Edit: If you want to dynamically create the Unicode character from its hex string, you can use this:
public static char HexToChar(string hex)
{
return (char)ushort.Parse(hex, System.Globalization.NumberStyles.HexNumber);
}
For example, HexToChar("20AC") will get you the Euro sign.
If you want to do the opposite operation dynamically:
public static string CharToHex(char c)
{
return ((ushort)c).ToString("X4");
}
For example CharToHex('€') will get you "20AC".
The choice of ushort corresponds to the range of possible char values, shown here.
I cant believe this was difficult to find on the internet!
For future developers,if you have the unicode character its easy to do. eg:
C#:
var selectionIndex = txt.SelectionStart;
string copyrightUnicode = "00A9";
int value = int.Parse(copyrightUnicode, System.Globalization.NumberStyles.HexNumber);
string symbol = char.ConvertFromUtf32(value).ToString();
txt.Text = txt.Text.Insert(selectionIndex, symbol);
txt.SelectionStart = selectionIndex + symbol.Length;
VB.Net
Dim selectionIndex = txt.SelectionStart
Dim copyrightUnicode As String = "00A9"
Dim value As Integer = Integer.Parse(copyrightUnicode, System.Globalization.NumberStyles.HexNumber)
Dim symbol As String = Char.ConvertFromUtf32(value).ToString()
txt.Text = txt.Text.Insert(selectionIndex, symbol)
txt.SelectionStart = selectionIndex + symbol.Length

Persian text box to hex to byte

hi I have some text boxes which user enters information such as first name,last name ,... .
I need to convert text boxes' text to hex and then convert the hex to bytes and send to device via rs232.
I know the sending via rs232 part and I also know how to convert text to bytes.
My problem is ,now, I should work with Persian characters in text boxes .It means the text for name in text box would for example like this "حسین".
How can I solve my problem?
If i understand correctly you can try something like that
byte[] yourStrBytes = Encoding.GetEncoding("your encoding").GetBytes("your str");
string hexStr = BitConverter.ToString(yourStrBytes).Replace("-", "");
byte[] hexStrBytes=Encoding.UTF8.GetBytes(hexStr);
As I know if you want to convert a Persian or Arabic text to it's continuse unicode in order to send them to other devices via a serial port like This question you can use following code to reach HEX values of a Persian or Arabic letter.
private string ConvertToUTF(string input_text)
{
string _out = String.Empty;
char[] _chars = input_text.ToCharArray();
foreach (char c in _chars)
{
_out += ((Int16)c).ToString("X4");
}
return _out;
}
Useage:
Console.WriteLine(ConvertToUTF("سلام"));
Console.WriteLine(ConvertToUTF("مرحبا"));
Provide this out put
0633064406270645
06450631062D06280627

how to convert string of unicodes to the char?

i have a text file in which sets of Unicodes are written as
"'\u0641'","'\u064A','\u0649','\u0642','\u0625','\u0644','\u0627','\u0647','\u0631','\u062A','\u0643','\u0645','\u0639','\u0648','\u0623','\u0646','\u0636','\u0635','\u0633','\u0641','\u062D','\u0628','\u0650','\u064E','\u062C','\u0626"
"'\u0622'","'\u062E','\u0644','\u064A','\u0645".
I opened the file and started reading of file by using readline method. I got the above line shown as a line now i want to convert all Unicode to char so that i could get a readable string. i tried some logic but that doesn't worked i stuck with converting string "'\u00641'" to char.
You can extract strings containing individual numbers (using Regex for example), apply Int16.Parse to each and then convert it to a char.
string num = "0641"; // replace it with extracting logic of your preference
char c = (char)Int16.Parse(num, System.Globalization.NumberStyles.HexNumber);
You could parse the line to get each unicode char. To convert unicode to readable character you could do
char MyChar = '\u0058';
Hope this help
What if you do something like this:
string codePoints = "\u0641 \u064A \u0649 \u0642 \u0625";
UnicodeEncoding uEnc = new UnicodeEncoding();
byte[] bytesToWrite = uEnc.GetBytes(codePoints);
System.IO.File.WriteAllBytes(#"yadda.txt", bytesToWrite);
byte[] readBytes = System.IO.File.ReadAllBytes(#"yadda.txt");
string val = uEnc.GetString(readBytes);
//daniel

How do I put 'end of text' (ETX, ASCII 3) in a string?

I need to send a string over TPC/IP, and receiving end will listen for a string and read to a terminator which is ASCII 3. How can I put this in plain text into a textboks?
As Dimitrov said, do something like
textarea.Text += (Char) 3;
or
String text = textarea.Text + (Char) 3;
You don't put this into the textbox, it's a binary character. You will add this to the value of the textbox before sending to the wire:
var ascii = Encoding.ASCII;
byte[] dataToSend = ascii
.GetBytes("Some data from textbox")
.Concat(ascii.GetBytes(new[] { (char)3 }))
.ToArray();
You can also use hexadecimal string literal:
string text = textbox.Text + "\x3";

Categories

Resources