Chinese character hash error

address is a Chinese character, and Hash conflict will occur when Buildle Mode is Pack sparately.

I checked the source code and found that the HashingMethods.Calculate function would have problems when processing certain Chinese characters. Different Chinese characters return the same Hash.

for example:

Debug.Log(HashingMethods.Calculate("背包").ToString());
Debug.Log(HashingMethods.Calculate("抽奖").ToString());

The returned hash value is the same.

Hash as:ea03fcb8c47822bce772cf6c07d0ebbb

Error:

ArgumentException: An item with the same key has already been added. Key: d3d87450b3618716c1cf8af2c246ae3d.bundle
System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptPackedMode.ProcessBundledAssetSchema (UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema schema, UnityEditor.AddressableAssets.Settings.AddressableAssetGroup assetGroup, UnityEditor.AddressableAssets.Build.DataBuilders.AddressableAssetsBuildContext aaContext) (at Library/PackageCache/com.unity.addressables@1.4.0/Editor/Build/DataBuilders/BuildScriptPackedMode.cs:387)

We’ll have to look into this. Thank you for bringing this to our attention.