What's golang's equivalent to PHP/Ruby's unpack(“C*”, . )?
Been searching around, still new to golang, PHP and ruby have an unpack function that unpacks a binary into an array. I'm trying to figure out how to do the following in golang.
$test = "1023";
print_r(unpack("C*", $test)); // [1,0,2,3]
Or
s = "1023"
arr = s.unpack("C*")
p(arr) # [1,0,2,3]
What's the best approach to doing this using golang?
go
add a comment |
Been searching around, still new to golang, PHP and ruby have an unpack function that unpacks a binary into an array. I'm trying to figure out how to do the following in golang.
$test = "1023";
print_r(unpack("C*", $test)); // [1,0,2,3]
Or
s = "1023"
arr = s.unpack("C*")
p(arr) # [1,0,2,3]
What's the best approach to doing this using golang?
go
add a comment |
Been searching around, still new to golang, PHP and ruby have an unpack function that unpacks a binary into an array. I'm trying to figure out how to do the following in golang.
$test = "1023";
print_r(unpack("C*", $test)); // [1,0,2,3]
Or
s = "1023"
arr = s.unpack("C*")
p(arr) # [1,0,2,3]
What's the best approach to doing this using golang?
go
Been searching around, still new to golang, PHP and ruby have an unpack function that unpacks a binary into an array. I'm trying to figure out how to do the following in golang.
$test = "1023";
print_r(unpack("C*", $test)); // [1,0,2,3]
Or
s = "1023"
arr = s.unpack("C*")
p(arr) # [1,0,2,3]
What's the best approach to doing this using golang?
go
go
edited Nov 25 '18 at 21:08
Peter O.
21k95969
21k95969
asked Nov 25 '18 at 13:49
extsexts
7,46631116
7,46631116
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Please note first that your PHP string of "1023"
is a string consisting of the 4 bytes x01
,x00
, x02
, x03
since the "1"
are interpreted as octal. See the documentation for double quoted strings for details.
In Go the syntax 1
is not correct. As in C an octal sequence is required to have 3 digits, i.e. 01
. Thus, the PHP string "1023"
is in Go "01000203"
(which would also work in PHP). With this in mind unpacking is easy and no special function like unpack
is needed for this:
package main
import "fmt"
func main() {
s := "01000203"
b := byte(s)
fmt.Print(b)
}
Output:
[1 0 2 3]
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53468131%2fwhats-golangs-equivalent-to-php-rubys-unpackc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Please note first that your PHP string of "1023"
is a string consisting of the 4 bytes x01
,x00
, x02
, x03
since the "1"
are interpreted as octal. See the documentation for double quoted strings for details.
In Go the syntax 1
is not correct. As in C an octal sequence is required to have 3 digits, i.e. 01
. Thus, the PHP string "1023"
is in Go "01000203"
(which would also work in PHP). With this in mind unpacking is easy and no special function like unpack
is needed for this:
package main
import "fmt"
func main() {
s := "01000203"
b := byte(s)
fmt.Print(b)
}
Output:
[1 0 2 3]
add a comment |
Please note first that your PHP string of "1023"
is a string consisting of the 4 bytes x01
,x00
, x02
, x03
since the "1"
are interpreted as octal. See the documentation for double quoted strings for details.
In Go the syntax 1
is not correct. As in C an octal sequence is required to have 3 digits, i.e. 01
. Thus, the PHP string "1023"
is in Go "01000203"
(which would also work in PHP). With this in mind unpacking is easy and no special function like unpack
is needed for this:
package main
import "fmt"
func main() {
s := "01000203"
b := byte(s)
fmt.Print(b)
}
Output:
[1 0 2 3]
add a comment |
Please note first that your PHP string of "1023"
is a string consisting of the 4 bytes x01
,x00
, x02
, x03
since the "1"
are interpreted as octal. See the documentation for double quoted strings for details.
In Go the syntax 1
is not correct. As in C an octal sequence is required to have 3 digits, i.e. 01
. Thus, the PHP string "1023"
is in Go "01000203"
(which would also work in PHP). With this in mind unpacking is easy and no special function like unpack
is needed for this:
package main
import "fmt"
func main() {
s := "01000203"
b := byte(s)
fmt.Print(b)
}
Output:
[1 0 2 3]
Please note first that your PHP string of "1023"
is a string consisting of the 4 bytes x01
,x00
, x02
, x03
since the "1"
are interpreted as octal. See the documentation for double quoted strings for details.
In Go the syntax 1
is not correct. As in C an octal sequence is required to have 3 digits, i.e. 01
. Thus, the PHP string "1023"
is in Go "01000203"
(which would also work in PHP). With this in mind unpacking is easy and no special function like unpack
is needed for this:
package main
import "fmt"
func main() {
s := "01000203"
b := byte(s)
fmt.Print(b)
}
Output:
[1 0 2 3]
edited Nov 25 '18 at 14:26
answered Nov 25 '18 at 14:01
Steffen UllrichSteffen Ullrich
62k359100
62k359100
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53468131%2fwhats-golangs-equivalent-to-php-rubys-unpackc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown