Am arbitrary byte can be encoded in 2 HEX characters - only a 2x increase in 
size not 8x.

> On Mar 13, 2023, at 2:35 PM, Volker Dobler <dr.volker.dob...@gmail.com> wrote:
> 
> On Monday, 13 March 2023 at 17:41:42 UTC+1 Van Fury wrote:
> Relating to my previous question, I have been reading but it is still not 
> clear to me what raw binary is, how is it different from
> text formatted binary (fmt.Sprintf("%b", s1s2Byte))?
> "text formated binary" takes a stream of bytes  and for each bit in
> this stream output "0" or "1" as letters, i.e. the bytes 48==0x30
> and 49==0x31. An eightfold blowup in size.
> Try understanding how _text_ is encoded as bytes.
>  
> Computers work on streams of bytes.
> The meaning/interpretation of a single byte can vary:
> Not all number can be stored in a single byte and
> text has to be encoded by bytes too.
> Please forget about "raw binary", there is no such thing.
> String variables are a stream of bytes and do not need any encoding,
> especially not something like "raw binary" that doesn't exist.
> A stream of bytes can be _printed_ (encoded) as decimal, hexadecimal,
> octal, base64 or even as bit ('0' and '1'). sometimes this is necessary
> because the underlying protocol cannot transmit possible byte values.
> When dealing with "binary" streams this cannot happen (it happens e.g.
> when using JSON to transmit data).
> You have to make clear what the output/encoding space should be
> (and why!): There is a inconsistency between wanting "binary" and
> a textual bit stream (which is not "binary" but text) and hexadecimal
> encoding (also not binary but text).
> You manoeuvred yourself in a corner by focusing on the solution
> instead of the actual problem.
> 
> V.
>  
> In my problem above I need to encode s1+s2 to raw binary before sending the 
> result to the server
> which then decodes the raw binary back to s1+s2.
> 
> 
> 
> On Mon, Mar 13, 2023 at 5:39 PM Van Fury <fury...@gmail.com 
> <applewebdata://EEC0F107-347B-4625-8D18-86B88831125B>> wrote:
> Do you mean encoding should be
> rawdata := fmt.Print("%016d%s%s", len(s1), s1,s2) 
> or
> rawdata := fmt.Printf("%016d%s%s", len(s1), s1,s2)
> 
> 
> 
> On Monday, March 13, 2023 at 4:36:50 PM UTC+2 Alex Howarth wrote:
> You might be looking for strconv.ParseUint() 
> https://pkg.go.dev/strconv#ParseUint <https://pkg.go.dev/strconv#ParseUint>
> 
> https://go.dev/play/p/qAO9LfLD41D <https://go.dev/play/p/qAO9LfLD41D>
> 
> On Mon, 13 Mar 2023 at 07:24, Van Fury <fury...@gmail.com <>> wrote:
> 
> Sorry I did not frame my question properly but what I would like to do is to
> encode concatenated s1 and s2 into raw binary and then decode the raw binary
> back to s1 and s2. 
> 
> 
> On Friday, March 10, 2023 at 11:36:09 PM UTC+2 Alex Howarth wrote:
> If s1 and s2 are a fixed length then you can just slice up the decoded string 
> based on the lengths. If they are of a variable length, you'll need a 
> separator in the input string to later split on when decoded (s3 := s1 + ":" 
> + <> s2 etc)?
> 
> On Fri, 10 Mar 2023 at 10:33, Van Fury <fury...@gmail.com <>> wrote:
> Hi,
> 
> I have two hexadecimal string values and would like to concatenate the two 
> strings and
> 
> encode the result to binary
> decode the resulting binary back to hexadecimal string
> I did the following but I was finding it difficult to decode the result back. 
> I ignore error check in this case.
> 
> What i did so far:
> 
> s1 := "1d28ed66824aa2593e1f2a4cf740343f" 
> 
> s2 := "dee2bd5dde763885944bc9d65419"
> 
> s3 := s1 + s2 
> 
> s1s2Byte, _ := hex.DecodeString(s3)
> 
> randAutnBin := fmt.Sprintf("%b", s1s2Byte)
> 
> result:
> 
> [11101 101000 11101101 1100110 10000010 1001010 10100010 1011001 111110 11111 
> 101010 1001100 11110111 1000000 110100 111111 11011110 11100010 10111101 
> 1011101 11011110 1110110 111000 10000101 10010100 1001011 11001001 11010110 
> 1010100 11001]
> 
> I would like to decode the binary result back the hexadecimal string to get 
> s1 and s2.
> 
> Any help?
> 
> Van
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts...@googlegroups.com <>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/ad3a981b-cf22-47cd-9fe6-8db83a097b42n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/ad3a981b-cf22-47cd-9fe6-8db83a097b42n%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts...@googlegroups.com <>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/1f66ccdc-6c58-48f0-9017-9614220f88d9n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/1f66ccdc-6c58-48f0-9017-9614220f88d9n%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "golang-nuts" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/golang-nuts/wCGYXo-r-uo/unsubscribe 
> <https://groups.google.com/d/topic/golang-nuts/wCGYXo-r-uo/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> golang-nuts...@googlegroups.com 
> <applewebdata://EEC0F107-347B-4625-8D18-86B88831125B>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/8c1be24c-8056-4b74-ac79-e1f8ae7bf935n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/8c1be24c-8056-4b74-ac79-e1f8ae7bf935n%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com 
> <mailto:golang-nuts+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/5cd8a906-5b73-4b86-abb1-8106fd9f73cdn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/golang-nuts/5cd8a906-5b73-4b86-abb1-8106fd9f73cdn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/2F94627B-77DC-42D0-8BF1-69627A21E8D1%40ix.netcom.com.

Reply via email to