From 83964ebc5e74549d6efc7134af19150a0b2079aa Mon Sep 17 00:00:00 2001 From: "Kinney, Michael D" Date: Thu, 2 Aug 2018 14:22:23 -0700 Subject: [PATCH] BaseTools/BinToPcd: Encode string returned from ByteArray() https://bugzilla.tianocore.org/show_bug.cgi?id=1069 The ByteArray() method returns a string with the hex bytes of a PCD value. Make sure the string is always encoded as a string, so it can be used to build a complete PCD statement string and be written out to a file. This change is required for Python 3.x compatibility. Cc: YanYan Sun Cc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney Reviewed-by: Yonghong Zhu --- BaseTools/Scripts/BinToPcd.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py index 25b74f6004..1495a36933 100644 --- a/BaseTools/Scripts/BinToPcd.py +++ b/BaseTools/Scripts/BinToPcd.py @@ -70,7 +70,8 @@ if __name__ == '__main__': # # Return a PCD value of the form '{0x01, 0x02, ...}' along with the PCD length in bytes # - return '{' + (', '.join (['0x{Byte:02X}'.format (Byte = Item) for Item in Buffer])) + '}', len (Buffer) + PcdValue = '{' + ', '.join (['0x{Byte:02X}'.format (Byte = Item) for Item in Buffer]) + '}' + return PcdValue.encode (), len (Buffer) # # Create command line argument parser object -- 2.39.2