I have a JSON formatted object, and the byte array is coming through as a string. I need to change that string to a byte array, but without converting the char's.
static byte[] GetBytes(string str)
{
return str.Select(Convert.ToByte).ToArray();
}
The above code half solves the issue, unfortunately it's still converting each char to it's respective byte.
For completness, here is my string
"PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+PGh0bWw+PGhlYWQ+PE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTE2Ij48dGl0bGU+Q2l2aWwgUHJvY2VkdXJlIGluIE1hZ2lzdHJhdGVzJyBDb3VydHM8L3RpdGxlPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL1N0eWxlcy9CV0NvbW1vbi5jc3MiPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL1N0eWxlcy9TaXRlQ29tbW9uLmNzcyI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vc2NyaXB0cy9qcXVlcnktMS42LjIubWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9zY3JpcHRzL3BvcHVwLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9zY3JpcHRzL2hvdmVyYm94LmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9TY3JpcHRzL2pxdWVyeS5wcmludEVsZW1lbnQuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBvbmxvYWQ9ImlmKHBhcmVudC5zZXRUb29scylwYXJlbnQuc2V0VG9vbHMoKSI+PGRpdiBpZD0iY29udGVudCI+PHAgY2xhc3M9IkdlbmVyYXRvci1IZWFkaW5nIj5Db250ZW50czwvcD48cCBjbGFzcz0iR2VuZXJhdG9yLUl0ZW0iIHN0eWxlPSJtYXJnaW4tbGVmdDoxNXB0Ij48YSBocmVmPSIjIiBvbmNsaWNrPSJsb2FkQ29udGVudCgnLi4vMWInLCBmYWxzZSk7Ij5DaXZpbCBQcm9jZWR1cmU8L2E+PC9wPjxwIGNsYXNzPSJHZW5lcmF0b3ItSXRlbSIgc3R5bGU9Im1hcmdpbi1sZWZ0OjE1cHQ7Y29sb3I6IzAwMjY3RjttYXJnaW4tdG9wOjEycHQiPjxiPsKgwqA8aW1nIHN0eWxlPSJib3JkZXI6MCIgd2lkdGg9IjgiIGhlaWdodD0iOSIgc3JjPSIuLi9SZXNvdXJjZXMvSW1hZ2VzL2Fycm93cy5naWYiIGFsdD0iIj7CoMKgQ2l2aWwgUHJvY2VkdXJlIGluIE1hZ2lzdHJhdGVzJyBDb3VydHM8L2I+PC9wPjxwIGNsYXNzPSJHZW5lcmF0b3ItSXRlbSIgc3R5bGU9Im1hcmdpbi1sZWZ0OjQ1cHQ7Y29sb3I6IzAwMjY3RjttYXJnaW4tYm90dG9tOjEycHQiPjxiPkF1dGhvcnFxcTogPC9iPkVkaXRvcnM6IERSIEhhcm1zLCBBZHZvY2F0ZSBvZiB0aGUgSGlnaCBDb3VydCwgTWVtYmVyIG9mIHRoZSBQcmV0b3JpYSBCYXI7IEYgU291dGh3b29kLiBGb3JtZXIgQ29udHJpYnV0b3JzOiBJIHZhbiBkZXIgV2FsdCwgQWR2b2NhdGUgb2YgdGhlIEhpZ2ggQ291cnQsIE1lbWJlciBvZiB0aGUgUHJldG9yaWEgQmFyOyBDIExvdXcsIEFkdm9jYXRlIG9mIHRoZSBIaWdoIENvdXJ0LCBNZW1iZXIgb2YgdGhlIFByZXRvcmlhIEJhcjsgQnJlbmRhIE5ldWtpcmNoZXIsIEFkdm9jYXRlIG9mIHRoZSBIaWdoIENvdXJ0LCBNZW1iZXIgb2YgdGhlIFByZXRvcmlhIEJhcjsgSkEgRmFyaXMsIFByb2Zlc3NvciBvZiBMYXcsIFVuaXZlcnNpdHkgb2YgU291dGggQWZyaWNhPGJyPjxiPkxhc3QgVXBkYXRlZDogPC9iPk9jdG9iZXIgMjAxMyAtIFNJIDMyLiBQcm9kdWN0IGRldmVsb3BlcjogQ3JhaWdlbiBTdXJhamxhbGw8L3A+PHA+PGJyPjxicj48L3A+PHA+PGJyPjxicj48L3A+PC9kaXY+PGRpdiBpZD0iY29udGV4dE1lbnUiPjwvZGl2PjwvYm9keT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dHJ5e3dpbmRvdy5wYXJlbnQuc2V0RnJhbWVIZWlnaHQoIE1hdGgubWF4KE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KSwgTWF0aC5tYXgoZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRIZWlnaHQpLCBNYXRoLm1heChkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkpKTt9Y2F0Y2goZSl7fTwvc2NyaXB0PjwvaHRtbD4="
I need to change that to a byte array, such as
['P','C','F'] etc, without converting each char to it's respective byte
This is not and edit of: How do I get a consistent byte representation of strings in C# without manually specifying an encoding?
In that question, the string is being converted. It's literally in the title that I do not want to convert
{ 'P','C','F' }isn't a byte array, that's a char array. Do you understand the relation between Unicode, characters, encodings and bytes? Do you understand not every character is representable in one byte, depending on the encoding used? See also Encoding used in cast from char to byte.Convert.FromBase64String