Example:
?- chars_base64("hello", Bs, []).
- Bs = "aGVsbG8="
- ; false.
+ Bs = "aGVsbG8=".
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
chars_base64(Cs, Bs, Options) :-
Example:
?- hex_bytes("501ACE", Bs).
- Bs = [80,26,206]
- ; false.
+ Bs = [80,26,206].
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
?- crypto_n_random_bytes(32, Bs),
bytes_integer(Bs, I).
Bs = [146,166,162,210,242,7,25,132,64,94|...],
- I = 337420085690608915485...(56 digits omitted)
+ I = 337420085690608915485...(56 digits omitted).
The above relation also works in the other direction, letting you
translate an integer _to_ a list of bytes. In addition, you can
?- crypto_n_random_bytes(12, Bs),
hex_bytes(Hex, Bs).
- Bs = [34,25,50,72,58,63,50,172,32,46|...], Hex = "221932483a3f32ac202 ..."
+ Bs = [34,25,50,72,58,63,50,172,32,46|...], Hex = "221932483a3f32ac202 ...".
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
Example:
?- crypto_data_hash("abc", Hs, [algorithm(sha256)]).
- Hs = "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
- ; false.
+ Hs = "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad".
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Examples:
?- path_segments("/hello/there", Segments).
- Segments = [[],"hello","there"]
- ; false.
+ Segments = [[],"hello","there"].
?- path_segments(Path, ["hello","there"]).
- Path = "hello/there"
- ; false.
+ Path = "hello/there".
To obtain the platform-specific directory separator, you can use:
?- path_segments(Separator, ["",""]).
- Separator = "/"
- ; false.
+ Separator = "/".
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
path_segments(Path, Segments) :-
Example:
?- phrase(format_("~s~n~`.t~w!~12|", ["hello",there]), Cs).
- %@ Cs = "hello\n......there!"
- %@ ; false.
+ %@ Cs = "hello\n......there!".
I place this code in the public domain. Use it in any way you want.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
Example:
?- getenv("LANG", Ls).
- Ls = "en_US.UTF-8"
- ; false.
+ Ls = "en_US.UTF-8".
Public domain code.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
Example:
?- current_time(T), phrase(format_time("%d.%m.%Y (%H:%M:%S)", T), Cs).
- T = [...], Cs = "11.06.2020 (00:24:32)"
- ; false.
+ T = [...], Cs = "11.06.2020 (00:24:32)".
sleep(S) sleeps for S seconds (a floating point number).
false.
:- time(use_module(library(clpz))).
- % CPU time: 2.762 seconds
- true
-; false.
+ % CPU time: 0.000 seconds
+ % CPU time: 0.001 seconds
+ true.
:- time(use_module(library(lists))).
% CPU time: 0.000 seconds
- true
-; % CPU time: 0.001 seconds
- false.
+ % CPU time: 0.001 seconds
+ true.
?- time(member(X, [a,b,c])).
% CPU time: 0.000 seconds