On Tue, Dec 10, 2019 at 5:05 AM songbird <songb...@anthive.com> wrote: > > jf...@ms4.hinet.net wrote: > ... > > Even string is hard to be handled by the AI:-) > > > > Quoted from https://portingguide.readthedocs.io/en/latest/strings.html > > " ... This means that you need to go through the entire codebase, and > > decide which value is what type. Unfortunately, this process generally > > cannot be automated." > > i don't agree. if the language is already parsed then > you have the strings. the contents of the strings will > have to be finite if they are fixed strings. so to convert > a fixed string you can choose a type for the value and run > a test to see if it works. if it does then you've picked > the correct type, if it doesn't you pick the next type. > there are only a finite number of types. >
Here's an example piece of code. sock = socket.socket(...) name = input("Enter your username: ") code = input("Enter the base64 code: ") code = base64.b64decode(code) sock.write("""GET /foo HTTP/1.0 Authentication: Demo %s/%s """ % (name, code)) match = re.search(r"#[A-Za-z0-9]+#", sock.read()) if match: print("Response: " + match.group(0)) Your challenge: Figure out which of those strings should be a byte string and which should be text. Or alternatively, prove that this is a hard problem. There are only a finite number of types - two, to be precise - so by your argument, this should be straightforward, right? ChrisA -- https://mail.python.org/mailman/listinfo/python-list