If String is instantiated, unifies List with the list whose elements are the integer codes for the bytes in the string.
If List is instantiated, unifies String with the string composed from the bytes given by the list elements in range 0..255.
Success:
string_list(S,[65,98,99]). (gives S="Abc").
string_list("abc",L). (gives L=[97,98,99]).
string_list("abc",[97,A,99]). (gives A=98).
string_list(S,[127]). (gives S="\177").
string_list("abc",[97|A]). (gives A=[98,99]).
Fail:
string_list("abc",[98,99,100]).
Error:
string_list(S,[A|[128]]). (Error 4).
string_list(S,[1|A]). (Error 4).
string_list('string',L). (Error 5).
string_list(S,"list"). (Error 5).
string_list('string',[128]). (Error 5).
string_list(S,["B"]). (Error 5).
string_list(S,[256]). (Error 6).